Android知识地图

这是一个给自己整理的Android知识地图,做Android开发多年,却鲜少有积累,悔不当初,如今廉波老矣才来整理自己的知识地图,好在亡羊补牢犹未为晚。

1.UI

1.1绘制

1.2布局

1.3事件分发

1.4动画

1.5硬件加速

1.6WindowManager

2.线程

多线程相关类,同步

Handler,Looper,Message

多线程转换和管理

3.进程

多进程传递数据

进程保活:

根本是降低oom_adj的值,数值越小越不会被杀死

1.规矩滴用前台service

2.sdk以及app互相唤醒,系统广播唤醒(后续版本已经不给力了)

3.notification的漏洞,给空notification或者启动两个前台service,后者关掉notification,android4.3以后已经不行了

4.一个像素的Activity

5.降低内存,可以使用多进程拆分,降低需要保活的进程的内存占用

6.JobSheduler

7.账号同步

8.NotificationListenerService但需要权限 android.permission.BIND_NOTIFICATION_LISTENER_SERVICE

IPC机制 http://gityuan.com/2015/10/31/binder-prepare/

4.动态加载,热修复原理,插件化,class loader

5.数据库

6.虚拟机

Dalvik与ART(Android Runtime)

在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会导致很慢

ART则是在安装时使用预编译(AOT,Ahead-Of-Time)技术,字节码就会预先编译成机器码,应用的启动(首次)和执行都会变得更加快速。缺点是机器码占用的存储空间更大10-20%,以及安装时间变长

ART优化了GC,以及对内存碎片的管理

4.Dalvik虚拟机 java内存管理

5.Android新特性

我觉得印象比较深的几点:1.自适应textview 2.自动填充 3.字体 4.通知

http://www.jianshu.com/p/908bd07b2849

6.开源工具

RxJava RxAndroid

https://gank.io/post/560e15be2dca930e00da1083#toc_1

你可能感兴趣的:(Android知识地图)