解决安卓CPU使用率过高问题
用Android Studio 调试程序的时候可以查看CUP使用情况,接手的项目中用户反馈特别卡,甚至有用户通过第三方软件反馈现在负责的APPCPU 占用率高的截图,然后Android Studio 运行观察 CPU 和内存占用率。Word天,厉害了 !!!
CPU占用率一直70%,ListView 也是加载完 CPU占有率会下降。
可能引起的原因:
1.有非常多的网络请求或者开了很多进程
2.大量大图片加载或布局可能引起该问题
问题排查:
先关闭引用的几个SDK网路请求,发现CPU占用率基本不变,还是70%,说明不是网络请求引起的。
在首页有四个Fragment页存同时放到Viewpager 中,就先每次显示一个Viewpager,发现4个Fragment 都是占 40% 晃动,然后viewpager中存入两个Fragment时CPU占有率就70%左右跳动。说明是Fragment 中的 一些操作引起的。
然后查看布局,发现以前写的布局嵌套层次有些深,进行优化,再运行观察CPU占有率还是很高。这就郁闷了。
灵光一闪想起了Bugly上一直出现的一些OOM,而OOM又是Glide 加载Gif 图片引起的,Gif 的加载在BaseActivity 和 BaseFragment 中初始化,在继承它的页面进行调用进行动态图加载,然后全局搜索 使用Glide进行Gif 加载的调用,进行注释,再运行,效果立即显现,刚开始运行CPU占用率 15%,加载完 回到 0。内存由六七十降到十几M。也是被产品们的需求折服,前段时间发现OOM和Glide 加载动态图就让修改方案,无果,现在改成了 Glide 加载Gif 显示次数限制,加载完进行回收,CPU和内存占用都属于正常。
可能引发的问题:
CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR等等一系列问题。
解决方案
1. 如果已经导致ANR, 则去log里面搜索"ANR in"
2. 没有导致ANR则先看看当前CPU使用状况,看看是不是别人占太多了
3.查找程序中有没有特殊布局或者特殊操作(GPS定位,一直刷新类的服务等),特殊加载(Gif图片加载,视频,音频加载等)
欢迎补充
解决安卓CPU使用率过高问题相关推荐
- 解决 SQL Server 中 CPU 使用率过高的问题
本文提供了诊断和修复运行 Microsoft SQL Server 的计算机上 CPU 使用率过高导致的问题的过程. 尽管在 SQL Server 中出现 CPU 使用率过高有许多可能原因,但以下原因 ...
- Windows上erl.exe的CPU使用率很高的问题【未解决】
Windows上erl.exe的CPU使用率很高的问题[未解决] 参考文章: (1)Windows上erl.exe的CPU使用率很高的问题[未解决] (2)https://www.cnblogs.co ...
- linux服务器 cpu使用率过高,服务器CPU使用率过高排查与解决思路
发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况 mpstat -P ALL 2 1 Linux 2.6.32-358.el6.x86_64 (linux- ...
- CPU使用率过高的原因及解决方法
常见的CPU使用率过高可不是职场CPU哦,而是电脑的中央处理器,CPU作为计算机系统重要的运算和控制核心,可谓是"很忙"的存在.在我们日常使用电脑设备时,由于打开的软件.游戏.网页 ...
- mysql的cpu使用率突然增高_mysql cpu使用率过高解决方法
mysql cpu使用率过高解决方法 1 mysql查看正在运行的语句 并且查看运行最多的mysql语句 MySQL 打开 general log 后,所有的查询语句都会记录在 general log ...
- linux主机sys使用率忽高忽低,cpu使用率忽高忽低的原因和解决方法
小编最近经常听说有的 人电脑cpu使用率老是忽高忽低,也不知道怎么回事虽然没怎么影响使用但是这无疑是一个潜在的隐患等到这个隐患爆发了对电脑的伤害可想而知,今天小编就来和大家说说cpu使用率忽高忽低的原 ...
- Win10音频设备图形隔离占用CPU使用率过高怎么解决
系列文章目录 文章目录 系列文章目录 前言 一.具体步骤 前言 我们经常在使用电脑的时候,会经常遇到电脑很卡,打开任务管理器,查看是哪个程序在占用电脑大量资源的时候,发现名为Windows音频设备图形 ...
- window服务器cpu过高的排查_服务器CPU使用率过高排查与解决思路
发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况 mpstat -P ALL 2 1 Linux 2.6.32-358.el6.x86_64 (linux- ...
- 如何解决CPU使用率过高问题
在开发过程中,我们会遇到手机的CPU使用率过高而引发的问题,那接下来,我对这方面知识做些整理及归纳 1. CPU使用背景知识: CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间 ...
- 解决排查 mongodb cpu使用率过高
前言 通过 top 命令,可以看到 MongoDB 的 CPU 使用率过高,CPU 过高会导致数据读写.处理异常缓慢,还会出现被系统抹杀进程的风险,这个问题 99.9999% 的可能性是用户使用上不合 ...
最新文章
- c# 实现二进制文件读写、ini文件读写以及一些文件和目录的常用操作,在某些特定情况下会用到,如录波文件要保存.dat
- linux同步工具rsync​
- python中二进制文件_Python学习基础篇 -6: Python中的文件操作
- 查看ssh端口号_萌新云服务器折腾记-SSH配置
- 牛客网-数据结构笔试题目(七)-k-amazing数字求解
- vue中webpack编译打包使用之Vue知识点归纳(十一)
- VC下使用Proc连接Oracle数据库
- MNIST机器学习入门
- 如何做好产品路标规划?这篇文章告诉你答案
- graphpad prism基础使用教程
- 深度解析,BIM应用落地,基于BIM的群塔作业方案优化
- 计算机思维测试题,孩子逻辑思维测试题有哪些
- Obsidian安卓端同步及使用(Remotely Save+阿里云同步S3)
- 修改网站背景图html代码,网站首页顶部添加背景图片的修改代码
- 【数据】社区发现数据集
- 蓝桥杯练习题 Fibonacci数列
- python 协程 asyncio_Python 原生协程------asyncio(选自公众号)
- 华为天才少年稚晖君自制「电子」机器人!应用OpenPose,项目已开源!
- android Criteria
- IDEA插件系列(19):EduTools插件——学习编程语言
热门文章
- 免费支持顺丰、四通一达、EMS等快递物流单号查询的开放接口?
- java雷霆战机源代码_java spring雷霆战机(小游戏源码)
- dspbios设计指南_视频广告设计者指南
- php 获取 星期几,php怎么获得星期几
- Mybatis出现Mapped Statements collection already contains value for
- java 自动登录_java代码实现自动登录功能
- 活跃在全球顶级会议的阿里新生代白帽:能挖漏洞会做焊工
- 彻底关闭Windows更新
- nu.xom:Attribute
- Low-shot Visual Recognition by Shrinking and Hallucinating Features