- 博客(20)
- 收藏
- 关注
原创 android冷启动与热启动面试知识小结
今天我们来学习Android 冷启动、热启动方面的知识。一、什么是冷启动、热启动?冷启动: 在启动应用时,系统中没有该应用的进程,这时系统会创建一个新的进程分配给该应用; 热启动: 在启动应用时,系统中已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程还是保留在后台);二、冷启动、热启动的区别冷启动:系统没有该应用的进程,需要创建一个...
2018-02-26 21:56:11
1461
原创 android内存泄漏面试知识小结
今天我们来学习Android内存泄漏方面的知识,Java内存泄漏的基础知识、Android中的常见内存泄漏。一、java内存泄漏的基础知识1、java 内存的分配策略静态存储区: 存放全局变量和静态数据,在整个程序运行期间都存在;栈区:存放方法体内的基本类型的数据和对象的引用(对象本身存储在堆区),会在栈区分配内存空间,并在方法执行结束后会自动释放该变量所分配的内存空间;...
2018-02-26 16:28:07
386
原创 Android UI卡顿面试知识小结
今天我们来学习下 Android 中 UI卡顿方面的知识,UI卡顿的原理、UI卡顿的原因分析、UI卡顿的优化。一、UI卡顿的原理1、Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染;2、View的绘制帧数每秒保持60fps最佳,这要求每帧的绘制时间不超过16ms(1000/60),如果安卓不能在16ms内完成界面的渲染,那么就会出现丢帧卡顿现象;二、UI...
2018-02-26 12:21:52
853
原创 Android Proguard代码混淆面试知识小结
今天我们来学习下 Proguard 代码混淆的知识,由于Java代码非常容易被反编码,为了很好的保护Java源代码,我们需要对编译好后的class文件进行混淆,增加项目被反编译的难度。一、proguard是什么?proguard 工具是用于压缩,优化,混淆我们的代码,主要作用是可以移除代码中的无用类,字段,方法和属性。缩小apk的体积,增加项目被反编译的难度。二、proguard ...
2018-02-23 14:52:23
488
原创 Git版本控制面试知识小结
今天我们来学习下Git版本控制的知识,Git是目前世界上最先进的分布式版本控制系统(没有之一)。一、git容易混淆的两个概念工作区: 电脑中所看到的文件目录,project就是一个工作区;gitignore文件: 过滤不需要加入版本控制的配置文件;二、git常用命令git init:仓库的初始化;git status:查看当前仓库的状态;git diff:查看...
2018-02-23 10:34:12
1423
原创 Android构建面试知识小结
今天我们来学习Android构建知识,平常开发中在android studio中点击run ,就能把代码编译成一个apk文件并安装到手机上,我们来看下这个过程中都具体发生了什么。一、Android 的构建流程1、apk 构建的基本流程:Android Project —> 进行编译和打包 —> 生成 apk 文件 —> 对apk文件进行签名 —> 安装到...
2018-02-09 17:41:28
207
原创 ListView面试知识小结
今天我们来回顾复习下ListView,它是一个能将数据集合以动态滚动的方式展示到用户界面上的View。一、什么是ListView?ListView是一个能将数据集合以动态滚动的方式展示到用户界面上的View。二、ListView 的适配器模式 Adapter它在ListView和数据源之间起到桥梁的作用,避免listview和数据源直接接触,而导致因为数据源的复杂性使listv...
2018-02-08 19:10:58
260
原创 View 绘制流程知识小结
今天我们来复习下View的绘制流程。View是Android中所有控件的基类,是控件的一种抽象,代表了一个控件。Android进阶——Android视图工作机制之measure、layout、draw一、View树的绘制流程measure –> layout –> draw 测量 –> 布局 –>绘制 measure :测量出View的宽/高; ...
2018-02-06 18:37:00
239
原创 IntentService面试知识小结
今天我们来回顾复习下IntentService,它是一个特殊Service,继承自Service并且是个抽象类。它可用于执行后台耗时任务,当任务执行完毕后会自动停止。由于IntentService是服务的原因,所以它的优先级比单纯的线程高,不容易被系统杀死,比较适合执行一些高优先级的后台任务。一、什么是IntentService?1、它是一个特殊的Service,继承自Service并
2018-01-29 18:20:05
348
原创 HandlerThread面试知识小结
今天我们来回顾复习下HandlerThread, 当我们需要执行耗时任务时,需要开启1个子线程来处理。如果在短时间内需要执行多个耗时任务时,就需要开始多个子线程来处理。多次创建和销毁线程很损耗系统资源,怎么解决这个问题呢?这就该今天的主角HandlerThread登场啦。一、 HandlerThread 是什么?1、HandlerThread 本质上是一个线程类,继承自Thread;
2018-01-29 00:39:40
718
原创 AsyncTask面试知识小结
前言今天我们来回顾复习下AsyncTask, 它是Android 一种轻量级的异步任务类,从实现来说,AsyncTask封装了线程池和Handler。它可以在线程池中执行后台任务,把执行的进度和结果传递给主线程并在主线程中更新UI,通过AsyncTask可以更加方便的执行后台任务以及在主线程访问UI,但他不适合进行特别耗时的后台任务。一、什么是AsyncTask?1、是一种轻量级的
2018-01-28 18:31:10
1011
原创 Handler面试知识小结
前言今天我们来回顾复习下Handler,处于性能优化的考虑,Android的UI线程是线程不安全的。为了避免多个线程并发操作UI的引发UI显示错乱问题,Android指定只允许在UI线程修改更新UI组件。其他线程更新UI抛出android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread tha
2018-01-22 13:00:03
305
原创 Android Binder 面试知识小结
Binder是Android中的一种跨进程通信方式。从Android Framework 角度来说Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager等等)和相应ManagerService的桥梁;从Android应用层来说Binder是客服端与服务端进行通信的媒介。下面 对 Binder 面试知识基本面试知识的做个小结,方便
2018-01-11 16:50:11
2979
原创 Java序列化反序列化、Serializable、Parcelable 知识总结
前言本博客对Java序列化反序列化、Serializable、Parcelable 知识的一个总结。在开发中我们发现Android中Intent传递对象有两种方法:一是Bundle.putSerializable(Key,Object),另一种是Bundle.putParcelable(Key,Object)。当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后
2018-01-05 20:26:49
552
原创 用GreenDao3.2,使用数据库so easy!
1、什么Greendao?greenDAO是一个开源的 帮助我们快速开发SQLite数据库的框架,开发者使用简单的面向对象的API来存储,更新,删除,查询数据库数据;Greendao会将Java对象映射到数据库表(称为ORM,“对象/关系映射”),完成数据的修改。
2017-10-16 16:08:23
670
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人