android app cpu占用CPU过大的案例

处理方法-
1.电脑adb连设备
2.CMD命令:adb shell 进入shell模式
top -H -m 10 打印出CPU占用率前十名的线程

3.在打印出来的线程中,找到和你的app相关的线程,具体方法看上图,找到可疑的线程,
然后进入AndroidStudio的DevceMonitor,具体看图:

4、你将会看到下图:

打开这个界面之后,你要选中你要监控的进程,然后点击这个,这样,右边的Threads栏就能看到这个进程的所有线程,
还记得之前找出的可疑的线程ID么?在这里找到对应的一行数据,选中该行,下方就能看到这个:

这就是线程相关的代码堆栈。

这样你就能进入代码去追查问题了。

是不是代码有死循环?还是使用了资源没释放?重复创建?具体问题具体分析。

时间: 2024-08-05 08:56:49

android app cpu占用CPU过大的案例的相关文章

Android APP高效开发的十大建议

在使用Android开发APP过程中,为什么确保最优化.运行流畅且不会使Android系统出现问题至关重要呢?因为影响APP产品效率的每一个问题,如:耗电或内存占用情况等,都是关乎APP成功与否关键因素.小编为大家总结了十条高效开发AndroidAPP的建议,希望对你有所帮助. 建议一:高效地利用线程 我们知道App运行过程中所有的操作都默认在主线程(UI线程)中进行的,这样App的响应速度就会受到影响.会导致程序陷入卡顿.死掉甚至会发生系统错误.为了加快响应速度,需要把费时的操作(比如网络请求

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

来源: Android App的设计架构:MVC,MVP,MVVM与架构经验谈 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计: 我的App需要应用这些设计架构吗? MVC,MVP等架构讲的是什么?区别是什么? 本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题. 1.架构设计的目的 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.这样做的好处是使得程序在开发的过程中,开发人员

[Android Pro] Android应用性能测试之CPU和内存占用(转载)

首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不

php-cgi进程占用cpu资源过大原因分析及解决

一,开启日志记录,为以后排查做准备 1.1 开启php-fpm.conf的错误日志和慢执行日志和常规日志, 采样一个小时,就可以根据这些日志的内容进行分析问题error_log = /tmp/error.log //错误日志access.log = /tmp/access.$pool.log //常规日志,记录每次访问时间,记录不同参数,以防止恶意攻击,后面会详细解析access.format = "%R – %u %t \"%m %r%Q%q\" %s %f %{mili}

Android应用性能测试之CPU和内存占用

最近发现自己学的很多东西没有做好积淀的工作,也萌生了写一些东西的念头.本人也没有写博客的习惯,下边就写一下手机端的性能测试. 最近公司,要我们从事对竞品的性能测试,我负责CPU和内存的性能测试,下面就和大家来分享一下android应用程序的CPU和内存的性能测试. 首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通

[Android Pro] CPU占用计算方法

1: AVTest  CPU计算方法读取每个进程的 stat 文件 (/proc/<PID>/stat)计算采样间隔10min下utime的差值minusUtime,stime的差值minusUtime,例如: 初始值Proc 1: utime=110 stime=200Proc 2: utime=400 stime=380...Proc X:...1个采样间隔 (10min后)Proc 1: utime=120 stime=220  差值: utime=120-110=10 stime=22

「android」查看应用占用cpu和内存消耗情况

查看CPU 消耗 1.进入adb shell 2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量) 查看内存消耗 1.进入adb shell ; 2.输入dumpsys meminfo

用户CPU占用过大后的分析过程

找到最耗CPU的java线程ps命令 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息. 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列. 比如这里找到了一个TID : 30834 ,所占用的TIME时间最高. 通过 printf "%x\n" 30834 首先转化成16进制, 

十大技巧优化Android App性能

无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的.那么,如何能开发出更高性能的Android App?相信是软件开发公司以及广大程序员们头疼的一大难题.今天,就给大家提供几个提高Android App性能的技巧. 高效地利用线程 1.在后台取消一些线程中的动作 我们知道App运行过程中所有的操作都默认在主线程(UI线程)中进行的,这样App的响应速度就会受到影响.会导致程序陷入卡顿.死掉甚至会发生系统错误.