/**
* 每天一个知识点day80 TODO 一个apk的安装都经历了什么
*
* https://blog.csdn.net/github_34402358/article/details/105954174
* 1.将apk文件复制到data/app下目录
* 1.1使用PackageManager的installPackage接口
* 1.2之后调用installPackageAsUser,主要做权限检查和构建InstallParams
* 2.解析apk信息
* 3.dexopt操作
* 4.更新权限信息
* 5.完成安装,发送Intent.ACTION_PACKAGE_ADDED的广播
*
* Bundle
* 1.activity状态数据的保存与恢复涉及到两个回调 onSaveInstanceState onCreate
* 2.fragment的setArguments
* 3.消息机制中message的setData
* 4....
* Bundle实现了Parcelable和Cloneable接口。
* final class不能被继承。
* 内部使用ArrayMap。Arraymap中使用的是两个数组进行存储,一个数组存储key,
* 这个和SparseArray差不多,只不过sparseArray的key值只能是int型的,
* 而ArrayMap可以是map型,所以在数据量不大的情况下可以使用这两个集合代替hashmap
* 去优化性能一个数组存储value,内部的增删改查都将会使用二分查找来进行
*
* 死锁
* 指多个进程在运行过程中因争夺资源而造成的一种僵局,
* 当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进
* 如:此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,
* 按照先锁b再锁a的顺序获得锁。
* 条件:两个以上线程和两种以上资源。
*
*
81.一个apk的安装都经历了什么
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...