整理几个安卓性能相关的问题
启动优化白屏问题怎么产生的,白屏产生原理
360加固下,壳dex如何设计才能加快启动速度
APP启动中,你是如何设置线程无环图的
第三方SDK的初始化实现懒加载时,如何避免使用时初始化造成的卡顿问题
启动优化中影响类加载速度有哪些
启动优化白屏问题怎么产生的,白屏产生原理 参考文章
- 出现原因: 一个Activity中在ContentView的外围还有PhoneWindow、DecorView、TitleView,当Activity进行绘制时会先绘制这三个View,这时ContentView还没加载进来,所以什么东西都看不到,系统会将屏幕填充主题默认的背景色,亮系主题填充白色,暗系主题填充黑色,就出现了Activity启动之前的黑/白屏现象。
- 解决办法: 推荐使用 1. 将主题背景变成透明的,这样在ContentView加载出来之前,我们会透过启动的Activity看到桌面,就不会有黑/白屏的现象。2.将主题背景设置成一张图片,把标题栏去掉,把Activity设置成全屏的,这这样在ContentView加载出来之前,我们就能看到一张默认背景图
如何缩短启动页的耗时 参考文章
点击桌面图标后 要尽快的显示第一个页面,并且能够进行交互。 根据启动流程的分析,显示页面能和用户交互,这是主线程做的事情。那么就要求 我们不能再主线程做耗时的操作。启动中的系统任务我们无法干预,能干预的就是在创建应用和创建 Activity 的过程中可能会出现的性能问题。这一过程具体就是:
- Application的attachBaseContext
- Application的onCreate
- activity的onCreate
- activity的onStart
- activity的onResume
activity的onResume方法完成后才开始首帧的绘制。所以这些方法中的耗时操作我们是要极力避免的。
启动框架,设置多少个线程合适?
每个线程的优先级怎么设置,Android 中线程优先级范围是多少?
CPU 有大小核,有没有可能把特定线程都扔到大核里面执行;