app性能优化

App启动速度优化

1.需要尽可能减少Application的onCreate中所要做的事情,比如一些不重要的SDK延迟或者异步加载;

2.多进程情况下一定要可以在onCreate中去区分进程做一些初始化工作(如果项目有多个进程的情况;大多数第三方都是主进程使用的所以 对于其他进程 多数情况下 不需要初始化这些);


获取进程名称的方法

String getCurProcessName(Context context) {

int pid = android.os.Process.myPid();

ActivityManager mActivityManager = (ActivityManager) context

.getSystemService(Context.ACTIVITY_SERVICE);

for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager

.getRunningAppProcesses()) {

if (appProcess.pid == pid) {

return appProcess.processName;

}

}

return null;

}

3.部分将要使用到的类(数据库及IO操作)异步加载(如果需要开启工作线程,需要给工作线程设置优先级,THREAD_PRIORITY_BACKGROUND,这样工作线程最多能获取到10%的时间片,优先保证主线程执行)

4.利用提前展示出来的Window,快速展示出来一个界面,给用户快速反馈的体验(在主题中设置默认的windowbackground)

5.定位问题:避免I/O操作、反序列化、网络操作、布局嵌套等


相关文章

Android性能优化(一)之启动加速35%

http://www.jianshu.com/p/f5514b1a826c

Android冷启动白屏解析,带你一步步分析和解决问题

http://blog.csdn.net/guolin_blog/article/details/51019856

Android APP启动优化

http://wuxiaolong.me/2017/03/13/appStart/

App启动速度优化之耗时检测处理

http://www.jianshu.com/p/a0e242d57360




2.UI流畅度优化

减少层级、延迟加载、减少过度绘制

3.内存优化

图片缓存、内存泄漏问题、减少枚举类

4.apk瘦身

利用ProGuard压缩代码去除无用资源

andresguard进一步压缩与混淆资源

第三方开源库的瘦身,仅保留自己需要的部分

极致的图片压缩与webp的使用

合理配置去除不必要的配置,仅保留中文配置等...

so的优化与配置,只保留一类so

动态下发一些资源:字库、so、换肤包等;


5.电量优化

合理的使用一些传感器、谨慎的使用Wake Lock、减少后台的不要的操作等、无网络情况下减少请求重试、gps不使用的情况下即时关闭

你可能感兴趣的:(app性能优化)