Android性能优化四:APP启动优化

1.1、优化技巧


Theme切换:视觉上的快,实际上跟原来一样并没有变快

1.1.1、drawable文件夹中:

<bitmap

android:src=“@mipmap/splash”

android:gravity=“fill”/>

1.1.2、在style.xml中设置:

1.1.3、调用:

<activity android:name=“.MainActivity”

android:theme=“@style/Theme.Splash”>

1.1.4、然后再MainActivity的onCreate方法中切换回来:

@Override

protected void onCreate(Bundle savedInstanceState) {

setTheme(R.style.AppTheme);

super.onCreate(savedInstanceState);

}

1.2、异步优化


核心思想:子线程分担主线程任务,并行减少时间

比如说一个线程耗时1500ms,我们可以用三个并行的线程,每个耗时500ms。

/**

  • 异步优化,使用线程池的方式,用多个并行线程来完成初始化,从而减少启动时间

  • 此处的nThreads的数量不能写死,因为不同的手机我们可用的CPU数量不一样,有的我们可以用4个

  • 核,有的可以用8个核,此处可以参考AsyncTask中的设置方法

*/

Executors.newFixedThreadPool(?);

AsyncTask.java

public abstract class AsyncTask<Params, Progress, Result> {

private static final String LOG_TAG = “AsyncTask”;

//获取到的设备的CPU数量

private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();

//线程池的核心池数量

//如果 CPU_COUNT = 8, 那么最后取值为4 八核设备

//如果 CPU_COUNT = 4, 那么最后取值为3 四核设备

//如果 CPU_COUNT = 2, 那么最后取值为2 双核设备

private static final int CORE_POOL_SIZE = Math.max(2, Math.min(CPU_COUNT - 1, 4));

private static final int MAXIMUM_POOL_SIZE = CPU_C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值