Android 常用知识点整理(含其他博主链接)

1、service的启动方式,绑定方式,有何不同

两种启动方式,startService和bindService,startServie会一直运行,除非调用stopService或stopself

两种绑定方式,对应两种启动方式

A、代码配置,继承service,重写方法

B、manifest配置,继承service,重写方法

知识从https://www.jianshu.com/p/4c798c91a613获取

 

2、service的生命周期,启动顺序

create、startCommand、bind、unbind、rebind、destroy

详情见https://www.jianshu.com/p/cc25fbb5c0b3

 

3、广播的生命周期,启动顺序,启动方式,有何不同

这里的启动方式指注册方式

A、动态注册,即在代码中注册

B、静态注册,manifest注册

区别:动态注册比较方便更改和动态生成,但是activity退出即关闭,且消耗很大内存,所以一定记得注销

静态注册比较牢固,不管activity怎么样都是存在的,个人理解更多的是和application绑定,可以理解为启动程序就启动了广播

详情见https://blog.csdn.net/mahaiming1990/article/details/51282279

生命周期分两种

服务的生命周期,见第二点

broadcastReceiver

onReceived

详情见https://www.csdn.net/gather_24/MtTakg3sNzk1OC1ibG9n.htmlhttps://www.cnblogs.com/wellsoho/p/4899893.html

 

4、自定义view需要重写的方法,每个方法的作用

构造函数、measure(测量View宽高)、layout(计算View的位置)、draw(视图的绘制)

详情见https://www.jianshu.com/p/705a6cb6bfee

 

5、AIDL相关知识

个人理解为跨进程通信?工作中不常用,确实不太清楚

详情见https://www.jianshu.com/p/5043a1a69269

 

6、事件分发机制

详情见https://blog.csdn.net/WalterZhoukick/article/details/82682221(自己写的文章,自己都能忘)

 

7、如何进行进程守护

和第5点、第1、2点连起来理解,通过service来跨进程保活,理论上双进程可以做到无限守护

详情见https://www.jianshu.com/p/83ea5e03bd61?from=timeline&isappinstalled=0

 

8、进程间如何通信,线程间如何通信

进程通信

A、AIDL

B、messenger

C、contentProvider

D、socket

详情见https://blog.csdn.net/hzw2017/article/details/81275438

线程通信

A、线程锁

B、Handler

C、runOnUiThread

D、view.post

E、AsyncTask

详情见https://www.jianshu.com/p/4265698b0577(这里面没写线程锁,但是线程锁理论上可以进行简单的通信,如A、B线程,A线程完成后释放锁,其实也就是一种通信方式,如果不懂可以私信,人数多我会专门写一篇文章)

 

9、线程优先级问题

setPriority(1-10,越大优先级越高)

详情见https://blog.csdn.net/qingchunweiliang/article/details/84940255

 

10、待更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章