主要是针对Application的优化。将一些库的初始化放到子线程,或者在主线程延时执行。上代码
// 子线程初始化
object : Thread() {
override fun run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)
Thread.sleep(2000)//建议延迟初始化,可以发现是否影响其它功能,或者是崩溃!
// 可以放如Bugly tencent的X5等可以在子线程初始化的
}
}.start()
// 主线程初始化
val handler = Handler()
handler.postDelayed({
// 执行操作
}, 2000)
用adb shell am start -S -W 包名/包名+入口Activity验证下。
未优化前
Activity: ***/.MainActivity
ThisTime: 2631
TotalTime: 2631
WaitTime: 2733
Complete
优化后
Activity: ***/.MainActivity
ThisTime: 707
TotalTime: 707
WaitTime: 728
当然还有优化的空间。后面找到方法再更新啦。