Android中有什么好的查看代码性能的工具,类似内存泄漏,或者分析程序性能的工具?
PHP中文网
PHP中文网 2017-04-17 16:30:34
0
6
613
PHP中文网
PHP中文网

认证高级PHP讲师

reply all(6)
小葫芦

楼主主要的问题是不知道都有什么地方在主线程使用了耗时操作,如果是这样,开启StrictMode无疑可以帮你很快找到需要关注的代码.
StrictMode ,严苛模式,是 Android 提供的一种运行时检测机制,用于检测代码运行时的
一些不规范的操作,最常见的场景是用于发现主线程的 IO 操作。
StrictMode 包含两个维度的概念:
Policy(策略): 是指 StrictMode 对一些违规操作的发现策略,分为两类:一类是针对一
个具体的线程(ThreadPolicy),另一类是针对虚拟机的所有对象(VMPolicy)。
Penalty(惩罚):是指 StrictMode 发现违规操作后进行惩罚的方式,譬如绘制红框、打
印日志、显示对话框、杀掉进程等。
Android 在很多关键的代码路径上都植入了 StrictMode, 譬如磁盘读写、网络访问、系统
进程启动等。StrictMode 会根据设置的策略进行检查,如果某个进程在代码运行时出现了
违规操作,那么就会受到”惩罚”。
比如下面这段代码,如果有违规,就会在logcat打印违规操作的位置以及调用堆栈信息。
android.app.Application的onCreate开启StickMode:

public void onCreate() {
   if (DEVELOPER_MODE) {
      StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectAll().penaltyLog().build());
      StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyLog().build());
   }
   super.onCreate();
 }
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!