摘要:
DexClassLoader可以加载外部的dex,而PathClassLoader只能加载内部的dex 双亲委托 双亲委托的意义是为了性能,每次加载都会消耗时间,但如果父亲加载过,就可以直接拿来使用了 1.混淆会将app中用不到的方法全部删除 2.android 5.0修复了方法数65536的爆棚问 阅读全文
摘要:
--摘自《android插件化开发指南》 1.PackageManagerService(PMS)是用来获取apk包的信息的 2.AMS总是会使用PMS加载包的信息,将其封装在LoadedApk这个类对象中,然后从中取出清单文件申请的四大组件信息 3.为什么app安装时,不把它解压呢?因为每次从ap 阅读全文
摘要:
--摘自《android插件化开发指南》 1.系统管理类app,比如手机助手,有机会频繁使用ContentProvider 2.通讯录或者短信数据,是以ContentProvider的形式提供的 3.ContentProvider的本质是把数据存储在SQLit数据库中 4.ContentProvid 阅读全文
摘要:
--摘自《android插件化开发指南》 1.动态注册过程是注册Receiver并通知AMS,发送内容包括IntentFilter、一个实现了IIntentReceiver接口的Binder对象、activity所在的进程。 2.AMS收到消息后,会把所有Receiver保存在一个列表中 3.静态R 阅读全文
摘要:
--摘自《android插件化开发指南》 一.在新进程启动Service 第一步:APP向AMS发送一个启动Service的消息 通过AMN/AMP把要启动的Service信息发送给AMS 第二步:AMS创建新的进程 这一步,AMS会检查Service是否在AndroidManifest中申明。AM 阅读全文
摘要:
--摘自《android插件化开发指南》 1.ContextWrapper只是一个包装类,没有任何具体的实现,真正的逻辑都在ContextImpl里面 2.应用程序中包含多个ContextImpl对象,而其内部变量mPackageInfo指向同一个PackageInfo对象 3.Context的st 阅读全文
摘要:
--摘自《android插件化开发指南》 1.AMS管理着四大组件 2.为什么Hook不能在AMS那边?因为AMS属于android系统,android系统可以被Hook,那就是病毒了。四大组件被Hook,只会影响某一个app 3.手机屏幕就是一个Activity,所在的app被称为Launcher 阅读全文