外观
如何理解第三方 ContentProvider 拖慢启动 可以直接删除并延迟初始化吗?
标准回答
不能在不了解依赖的情况下直接删。Provider 可能承担 SDK 自动初始化、组件注册或提供跨进程数据,我会先检查合并后的 manifest、Provider 的用途以及 SDK 是否提供正式的手动初始化入口。若支持手动初始化,可以用 manifest merger 配置移除对应自动初始化,再在业务需要且线程条件满足时调用明确的 API,并处理多进程、多用户和重复初始化。若没有公开替代入口,就需要分析实现或和供应方确认,不能凭空假设有 SDK.init。
延伸追问
AsyncLayoutInflater 的回退条件和控件线程要求也要验证,后台 inflate 完成后仍需在 UI 线程挂载,避免首屏分块出现。
内容来源
- Android Framework 知识手册 · 原条目
7-6