美文网首页
查看Android项目CPU占用的主要地方及优化方法

查看Android项目CPU占用的主要地方及优化方法

作者: 李祥_1709 | 来源:发表于2019-12-19 14:10 被阅读0次

因为我们最近开发发现APP特别卡顿,经过同事和我一直最后发现并解决了问题,特此记录并供参考
查看文章前请确保一下必须正常

  1. 电脑配置好adb环境
  2. adb连接手机成功

新建一个Android studio项目,包名称
com.lixiang 运行到手机
首先alt+r 输入才cmd进入控制台,,输入 adb shell top 查看手机cup占用情况如下:

image.png
图中可以查看到每个进程当前占用的cup的情况,键盘点击enter可以刷新,我们可以看到进程中并没有我们新建的项目,因为我们没有项目运行成功后并没有一直在消耗CPU然后我们在项目中增加一些代码
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                consumeMethod();

            }
        });
    }

    private void consumeMethod() {
        new Thread() {
            @Override
            public void run() {
                super.run();
                while (true) {
                    new String();
                }

            }
        }.start();


    }
}

点击button按钮后我们让程序死循环然后我们继续刷新CPU占用可以发现进程为 com.lixiang 占用了很多,但是我们需要是找到具体在哪里发生的

image.png
我们使用的是Android的DDMS,我们找到自己的Android SDK目录 到tools目录下找到monitor.bat点击运行会进入如下页面
image.png
手机里面运行的就是我们当前进程,我们选中进程 image.png
然后点击update Threads
image.png 点击后然后点击它右边的start Method Profiling
出现如下页面点击OK
image.png
然后稍等几秒再点击 stop Method Profiling
image.png
结束之后我们可以看到如下页面 image.png
可以看到CPU占用最高的前几个我们点开可以看到内存消耗早MainActivity的run方法,以及创建空的String对象,就方法找到对应的代码在什么位置

相关文章

网友评论

      本文标题:查看Android项目CPU占用的主要地方及优化方法

      本文链接:https://www.haomeiwen.com/subject/qbmmnctx.html