Android进阶之路

Android性能优化 - 启动速度优化

2021-01-04  本文已影响0人  进击的包籽

1.启动的状态

2.冷启动耗时

2.1 系统日志统计

2.2 adb命令统计

3.启动分析

3.1 CPU Profile工具简单教程

3.2 启动耗时分析

3.3 使用Debug Api 生成.trace文件

public class BaoApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        Debug.startMethodTracing("baoTest");
    }
}

public class MainActivity extends AppCompatActivity {
   .
   .
   . 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        .
        .
        .
    }

    /**
     * MainActivity 停止启动分析的地方
     * @param hasFocus
     */
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        Debug.stopMethodTracing();
    }
}

4.StrictMode严苛模式

  @Override
    public void onCreate() {
        super.onCreate();
        if (BuildConfig.DEBUG) {
            //线程检测
            StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                    .detectDiskReads()
                    .detectDiskWrites()
                    .detectNetwork()
                    .penaltyLog()
                    .build());

            StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                    .detectLeakedSqlLiteObjects()//数据库对象泄漏
                    .detectLeakedClosableObjects()//未关闭的对象泄漏
                    .penaltyDeath()//违规奔溃
                    .penaltyLog()//违规日志
                    .build());
        }
    }

5.结尾

上一篇 下一篇

猜你喜欢

热点阅读