应用性能管控规范

 

1,应用启动,从点击到应用界面展现要控制在400ms以内

2,资源优化,使用lint工具

使用命令:

lint.bat --simplehtml lint_results.html D:\xxx\Cloneit

lint --html e:\MyProject\***_UnuesdResources_lint_report.html  --check "UnusedResources"  e:\MyProject\Launcher3\可以检查其中某项。

然后查看lint_results.html查看无用资源等。

lint_results.html结果有点看不太清楚,可以用notepad++打开,搜索color:关键字,将#f3f3f3全部替换为#ff0000,将#bebebe全部替换为#0000ff,保存后再用浏览器打开这样就比较清晰了。

例如:

4 DrawAllocation 

5 UseCompoundDrawables 

7 MergeRootFrame 

8 DisableBaselineAlignment 

43 FloatMath 

34 Overdraw ( 过度绘制34个)

72 UnusedResources   过度绘制72个)

6 UselessParent 

也可以通过手机上的开发者模式中的调试GPU过度绘制来查看,红色部分为严重重绘区域。

启用严格模式,可以通过观察红框框来看到界面跳转是否卡顿。

3,代码结构优化

删除不必要的功能,不需要透明的图片就取消透明。结构不合理的重新构建。

4,可以合并的进程要进行合并,这样可以减少内存占用,同时消灭进程间通信的开销.当然要看具体情况。

如果一个进程十分耗时耗CPU耗内存,就不应该和一个要经常使用的进程合并。

如在AndroidManifest.xml中指定进程名为com.android.phone
<application android:name=" example Application "
             android:process=" com.android.phone ">
<activity android:name=" exampleActivity "
android:process="com.android.phone">
<service android:name=" exampleService "
android:process="com.android.phone">
<receiver android:name=" exampleReceiver "
android:process="com.android.phone">
<provider android:name=" exampleProvider "
android:process="com.android.phone">

5,减少图片使用

如果是纯色,优先考虑直接用颜色绘制;

如果可以用.9图片,尽量使用.9图片。

去掉非必要图片。

6,退出界面

退出界面要记得销毁界面相关元素,比如动画等。

7,广播使用要规范
8,数据存储要规范

9,电源锁要使用规范,能不用尽量不用。以免异常情况下成为电池杀手。

10,多使用工具进行优化

比如:

lint,traceView,systrace,oprofile,bootchart(这些工具在Androidstudio上不知道有没有替代工具,有的话直接去使用新工具就可以了,比如内存分析貌似就有)

 

这个是从老同事那获取到的资料,有些因为没有用到,所以还没深入理解,待以后再来看看。

 

 

 

 

 

你可能感兴趣的:(性能控制,Android性能规范)