自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老王的地盘

Android性能领域

  • 博客(131)
  • 资源 (27)
  • 收藏
  • 关注

原创 原生冻结进程分析(U)

进程的OOM_ADJ (Out of Memory Adjustment)值除了决定系统内存不足的时候是否回收该进程,进程冻结策略也是依赖它去计算的。总结一下就是,如果进程的oom adj大于CACHED_APP_MIN_ADJ,就会启动一个10分钟的定时器,在10分钟之内如果进程的oom adj一直没有变回小于CACHED_APP_MIN_ADJ就会冻结进程。进程的执行被暂停:冻结的进程会被暂停,其所有线程的执行将被停止,包括应用程序的主线程以及任何后台线程。提供先进的推理,复杂的指令,更多的创造力。

2024-09-02 06:54:55 1032

原创 Activity的启动流程(AndroidU)

启动有冷热温三种。冷启动:从无到有走完整个启动流程。一般是应用第一次启动。热启动:有应用进程无相关数据,需要重新加载,比如冻结。一般是从多任务进入。温启动:有进程有数据。一般是退出后再次进入。启动流程如下:1.启动准备应用启动是从应用Activity的this.startActivity开始,调用父类Acitivity.startActivity.: /这两个方法都是为了启动新的 Activity,但它们的差别在于第二个方法允许传入额外的启动选项。第一个方法是第二个方法的简化版本,默认将。

2024-08-24 19:36:41 1171

原创 关闭开机关trace的功能

在抓开机启动的trace时,发现trace总是抓不全,测试发现总有代码要关trace,研究去掉关trace的代码。

2024-08-23 15:03:27 380

原创 查杀策略汇总

lmkd冻结cpu高负载swap信号9。

2024-08-23 08:56:56 379

原创 Zram记录

device中加copyfile添加编译fstab。未打开zram时,totalswap为0。init.rc中配置swapon-all。Zram机制的实现,依靠swap机制。fstab中配置zramsize。zram验证生效的顺序。

2024-08-23 08:52:26 480

原创 严格模式报错

部分参考:Android内存泄露分析之StrictMode - 星辰之力 - 博客园 (cnblogs.com)

2024-08-19 17:16:05 250

原创 CPU/GPU性能评估

1.拆分成cpu芯片和GPU芯片,查找提升系数,折算成整体性能。2.使用Antutu跑分,折算成整机性能。

2024-08-19 17:12:44 1434

原创 IO器件性能评估

b,573.8ms的io时长是 573.8 * 29.97%=171.96ms。c,按比例缩放io时间 = 171.96 *(500/300)=286.6ms。比如应用启动过程中的。4,将预估后的增加io时间加到原来操作时间,将此作为此项操作预估时间。3,根据规格书读写能力数据比率,对io占用时间进行预估(等比放大);a,io时长187ms,占比 187/624 = 29.97%2,针对应用操作过程进行分析,识别出过程中io占用时间;1,对比UFS、eMMC的规格书标注的io读写能力。

2024-08-19 17:07:20 236

原创 ADB-DROM

adb shell "echo 0 > /sys/devices/platform/10012000.dvfsrc/helio-dvfsrc/dvfsrc_force_vcore_dvfs_opp" # -1 无限制,0 最大。

2024-08-19 17:04:21 355

原创 CPU绑核

通过CPU亲和性的概念可以提高线程的运行效率,比如由于CPU存在缓存机制,通过CPU亲和性(CPU Affinity)让同一个线程被重新调度时,尽量调度到同一个处理器上,这样就可以可以避免不必要的 Cache Miss。另一种情况,比如对于一组相同的任务,它们需要访问的内存大部分是相同的,如果控制这组任务调度在相同的CPU上,也可以共享相同的cache,从而提高程序的访问效率。如果进程只在某个CPU上执行,可以避免进程在一个CPU上停止执行,然后在不同的CPU上重新执行时发生的缓存无效而引起的性能成本。

2024-08-19 16:57:27 1122

原创 cpu管理

4、intellidemand智能按需调节模式:可根据GPU使用情况来针对性调节cpu频率,GPU负载高时,比如运行游戏和测试的时候,cpu频率会迅速升至最高,这时的调节模式类似于ondemand,当GPU空闲时则会自动限制cpu最高频率,更加省电。2、ondemand按需模式:官方及xray内核默认为此项调节模式,顾名思义,按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平;

2024-08-19 09:33:24 833

原创 原生HighCPU机制

遍历LRU list所有进程,针对优先级低于PROCESS_STATE_HOME的进程,根据进程状态改变距离现在的时间,设置不同的限制阈值,然后调用updateAppProcessCpuTimeLPr继续检查流程。通过ProcessProfileRecord,计算出进程已经使用CPU的时间,调用checkExcessivePowerUsageLPr函数来检查是否超过限制阈值,如果超过则杀进程。//如果CPU使用时间超过阈值(CPU使用时间除以距离上次检查的时间,cpuLimit可以看做百分比)

2024-08-15 00:19:23 960

原创 Source Insight 4 使用教程

F3 上一个。F4 下一个。

2024-08-15 00:13:33 310

原创 IO问题分析方法及方案

一般都是在anr日志中会有iowait高的打印。

2024-08-07 20:22:51 838 1

原创 MobaXterm使用

说明:这是在当前用户生效(我也没有sudo密码),如不存在文件会自动创建,保存后打开vi即生效。1.默认打开的vi 不带行号。

2024-07-13 16:02:09 467

原创 UML图画法

1.类图中的各种线2.中文破解工具见收藏干货!3分钟掌握UML类图 (zhihu.com)

2024-06-29 20:53:47 113

原创 Linux常用命令

ssh-keygen -t rsa -C "主机名"主要使用在编译服务器中,一般还有samb一起使用。3.copy文件:copy/rcopy。在当前目录查找文件并写入文件。

2024-06-29 20:51:30 330

原创 adb常用命令

方法2:停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset。# 方法1:强制停止APP进程,不会清除APP进程在系统中产生的数据。# 查看prop文件中watermark属性值。# 导入build.prop文件(见文章)# speed-profile优化。# Top列表activity。# 前台activity。# 查看Free RAM。# 所有应用编译状态。# 查看启动应用入口。

2024-05-12 13:26:12 826

原创 adb-cpu常用命令

adb shell "echo powersave > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor" # 第1簇。adb shell "echo powersave > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor" # 第1簇。adb shell "cat /proc/cpuhvfs/C0_opp_idx" # 大核。

2024-05-12 13:25:38 927

原创 vim常用命令

跳转到指定行:n # n是具体行号查找指定文本/a # a是具体文本,点击n键跳转到下一个粘贴外部文本到linux。

2024-05-12 13:25:05 139

原创 adb-GPU常用命令

adb shell "echo 0 > /proc/gpufreqv2/fix_target_opp_index" # -1 无限制,0 最高频。# 当前频率、档位、负载。

2024-05-12 13:24:33 987

原创 adb-DRAM常用命令

adb shell "echo 0 > /sys/devices/platform/10012000.dvfsrc/helio-dvfsrc/dvfsrc_force_vcore_dvfs_opp" # -1 无限制,0 最大。adb shell "echo 0 > /sys/kernel/helio-dvfsrc/dvfsrc_force_vcore_dvfs_opp" # -1 无限制,0 最大。

2024-05-12 13:23:45 694

原创 adb-抓systrace

表示抓取的时间,默认情况下是。表示抓取文件的输出目录。systrace使用。

2024-05-12 13:22:50 460

原创 git使用

5.查看某个文件的历史修改版本。(上一个commtid)

2024-05-12 13:22:10 400 1

原创 excle使用

注意valouk的筛选只能向后,不能向前。

2024-05-12 13:21:32 217

原创 内核调试记录

函数头文件:#include <asm/ptrace.h>;使用方式: 在想要查看的函数中调用dump_stack();作用: 在内核调试时打印cpu堆栈的调用关系;

2024-05-12 13:20:57 177

原创 暗码导出日志方式

mtk 工模提取日志 *#*#3646633#*#*(专业模式: *#*#0574#*#*打开debuglogger。

2024-05-12 13:20:10 245

原创 火焰图使用

1.依次执行:代表录制6秒或2.复现问题3.进入NDK目录4.导出文件并解析。

2024-05-12 13:19:22 773

原创 如何做笔记

工作这么多年,其实一直都有想做成知识系列或者出书的打算,一方面是专业知识差了些,一方面就是笔记文笔写的不好。技术介绍类重介绍和实践,技术深入类重完整性及易读性,解决问题类重问题场景及解决步骤清晰度。如果书中包含实际的代码示例或案例研究,将它们记录下来,并尝试在自己的开发环境中实践。在阅读技术类书籍时,做笔记是一个非常重要的技能,可以帮助我们更好地理解和记忆所学内容。从实用角度介绍新技术,风格类似技术文档,面向技术小白,目标是达到即学即用。在开始阅读之前,明确做笔记的目的,有助于有针对性地进行笔记。

2024-05-12 13:18:17 567

原创 IO量统计工具

用来统计一些IO信息的脚步,会生成一个excel,列出trace里面的io请求,每个进程的IO量,单个进程的IO状态统计,需要可以用下,不好的是数据量大的情况下很慢。执行方式:python3 blockStatus.py trace_1.html 3083,3083指要看的pid的io状态。抓trace需打开节点: echo 1 > /sys/kernel/tracing/events/block/enable。

2024-05-12 13:17:44 209 1

原创 Activity 启动流程log分析

为了方便跟踪启动过程相关流程,打开debug开关,并添加Log打印。

2024-01-13 15:12:01 656

原创 Android优化技术的器、术、道

鉴于在讨论 Android 性能问题的时候,卡顿(流畅性)、响应速度、ANR 这三个性能相关的知识点通常会放到一起来讲,因为引起卡顿、响应慢、ANR 的原因类似,只不过根据重要程度,被人为分成了卡顿(流畅性)、响应慢、ANR 三种,所以我们可以定义广义上的流畅性,包含了卡顿(流畅性)、响应慢和 ANR 三种,所以如果用户反馈说手机卡顿或者 App 卡顿(流畅性),大部分情况下都是广义上的卡顿(流畅性),需要搞清楚,到底出现了哪一种问题。

2024-01-02 08:50:34 482

原创 APP启动流程2

后面就是app创建进程 main函数中有loop循环activity和window的关联viewtree的更新自下而上标记,自上而下更新performTranvesal是更新的核心函数performmeaureperformLayoutperformDrawmPrivateFlgs:那些view更新dict”更新区域activity是如何与window和view分工合作activity:管理活动生命周期。显示内容FragmentManag...

2022-03-23 00:28:27 212

原创 APP启动笔记1

0:01:11Instrumentation类里面的方法大多数和Application和Activity有关,这个类就是完成对Application和Activity初始化和生命周期的工具类。比如,callActivityOnCreate()0:02:04ActivityManager的功能是与系统中所有运行着的Activity交互提供了接口0:29:02ActivityStarter类启动器1.从系统服务启动APP(AMS),属于systemserver。这里对...

2022-03-22 01:18:01 397 1

原创 TortoiseGit与码云的连接

1.下载中文版工具https://www.cnblogs.com/xwgcxk/p/9209237.html2.连接https://blog.youkuaiyun.com/ycz1668/article/details/585969543.当码云密码输错,去哪里修改https://blog.youkuaiyun.com/weixin_42328925/article/details/80482619...

2019-08-07 21:37:28 316

原创 Android Stuio的Logcat不显示Log信息

我碰到的情况是:logcat显示进程和错误信息,但是就是不显示log打印的信息。解决办法:1.选择logcat最右边的show only                  2.打开魅族手机 开发者选项中的 全部日志信息                     魅族手机打开日志输出操作:依次打开设置→开发者选项→性能优化页面,点击“高级日志输出”,在弹出的窗口中,选择“全部允许”即可。有的魅族手机性...

2018-04-09 22:47:07 1854 1

转载 RecyclerView setHasFixedSize(true)的意义

转自:https://blog.youkuaiyun.com/wsdaijianjun/article/details/74735039java] view plain copy&lt;span style="font-size:18px;"&gt;    /**      * RecyclerView can perform several optimizations if it can know in a...

2018-04-01 11:22:14 2524

转载 Android studio 空文件夹自动合并去掉

转自:https://blog.youkuaiyun.com/a939006659/article/details/77771738把这个钩去掉就可以了 

2018-03-30 17:04:57 1434

转载 Android Studio 快速查看方法或者变量的注释

转自:https://blog.youkuaiyun.com/u013625924/article/details/47810255在eclipse中,想要查看一个方法或者变量的注释时,只需要鼠标悬停在上面就可以了,但是android studio怎么看方法或变量的注释呢?解决办法:只要这个地方设置勾选一下: File &gt; Seetings &gt; General &gt; Editor &gt; S...

2018-03-30 16:41:35 2573

转载 Android Studio中的“favorites”和“bookmark”

转自:https://www.cnblogs.com/liaojie970/p/5630651.html做项目难免来回查看某个文件的某个方法,某些文件可能访问率很高,为了加快开发效率楼主推荐使用favorites (文件)bookmark (代码 行)。favorites 的添加就在文件单击右键add to favorites 即可。bookmark 可以在感兴趣的代码前 单击F11 或者 Ctr...

2018-03-30 16:00:37 1307

调用百度地图demo

调用百度地图APK,demo很简单,主要是这个uri的调用很简单,主要还是得看使用场景。

2017-03-02

自动填写短信验证码

http://www.jianshu.com/p/3f0718e8f603/comments/2132975;这是详细介绍,感谢这位小伙伴。我自己项目需要,测了一下,是可以用的。之前老的方式不行了啊,可能是手机版本更新的原因吧。

2016-11-29

百度地图中心之坑

先说说现象吧,其实很简单。就是加上地图中心的代码后,地图全白了。我放缩地图,移动地图,白色区域和网格区域都存在。具体常见:http://blog.youkuaiyun.com/zinjin_woxin/article/details/52301030。欢迎留言,欢迎共勉。

2016-08-24

[情人节专属]纯JS脚本1k大小的3D玫瑰

[情人节专属]纯JS脚本1k大小的3D玫瑰,本人亲测,还不错,嘻嘻。

2016-08-09

apk反编译工具【含反编译方法】

apk反编译工具【含反编译方法,亲测,简单,方便。若有问题,欢迎喷,来让我们互相伤害吧!

2016-07-26

Bmob【快速接入示例】

Bmob【快速接入示例】,这代码很简单,参考了官方文档。配合博文,效果更佳。写的不好,欢迎指正,欢迎相互交流。

2016-04-10

umeng第三方登陆技术demo

umeng第三方登陆技术demo,基于umeng4.3开发,参考官方文档及demo。该包仅仅包含新浪微博登陆和QQ登陆。更多请参见博客:ttp://blog.youkuaiyun.com/zinjin_woxin?viewmode=contents

2016-01-16

umeng_thirdlog.zip

20160106_umeng_thirdlog.zip ,基于umeng4.3开发,参考官方文档及demo。该包仅仅包含新浪微博登陆。更多请参见博客:ttp://blog.youkuaiyun.com/zinjin_woxin?viewmode=contents

2016-01-16

umeng社会化分享之QQ和QQ空间

umeng社会化分享之QQ和QQ空间,认真整理过的,借鉴自官方,直接看com.personalblog.MainActivity中的实现便可。博文地址:喔,还在审核。

2016-01-10

umeng_android_social_sdk_5.0.1_custom

umeng社会化分享demo,最新的官方资源。分享平台:微信,新浪微博、QQ、QQ空间

2016-01-04

umeng统计和更新SDK技术测评

umeng统计和更新SDK技术测评,参考官网后,自己写的简单demo,内含文档和demo源码。笔者水平有限,欢迎相互交流。由于博文暂未通过审核,不想下载的可自查博文。

2016-01-03

8uftp代码上传工具

8uftp代码上传工具,网上下载,随处可见。本人正在使用,杠杠的,还不错。

2015-12-29

鸿翔大神的史上简单侧滑

鸿翔大神的史上简单侧滑,据说是史上最简单。确实很简单,而且还有福利。我在项目中使用,发现还有收缩特效的“bug”。欢迎大家交流。

2015-12-29

RadiusBorder.zip按钮边框

RadiusBorder.zip按钮边框,完全是下载另外仁兄的,感谢他的分享。该APP展示了矩形边框按钮背景的简单写法。

2015-12-29

commons.rar

commons.rar 不是很清楚是干嘛的,是当初寻找连接两个字符串数组时搜到了包集。

2015-12-25

commons-lang-2.4-bin.zip

commons-lang-2.4-bin.zip 内含ArrayUtils(用来连接两个字符串数组)

2015-12-25

BaiduLBS_AndroidSDK_v6.1.3_All

BaiduLBS_AndroidSDK_v6.1.3_All,官网最新的SDK版本,这里只是把他们合在一起打了包。

2015-12-17

BaiduMap_AndroidSDK_v3.6.1_All.zip

BaiduMap_AndroidSDK_v3.6.1_All.zip,内含SDK,DEMO,DOC.

2015-12-16

百度地图v3.6.1接入1--基本地图功能.rar

之前找了一些百度地图从Android接入的源码,发现都版本有点老,现在百度地图都到v3.6.1。算了,自己从百度的demo中提取算了。

2015-12-16

【h5游戏之我要飞得更高】小帅蹦蹦.rar

【h5游戏之我要飞得更高】小帅蹦蹦.rar ,代码较为复杂,可用于实际项目。本人亲测,欢迎交流。

2015-12-16

【h5游戏之切水果】水果忍者.rar

【h5游戏之切水果】水果忍者.rar,可以用于实际项目中。本人亲测,欢迎交流。

2015-12-16

【h5游戏之flappytext】

【h5游戏之flappytext】,本人亲测,可以。本应用较为简单,实战需修改。欢迎交流。

2015-12-16

BaseAnimation1.3版本.rar

BaseAnimation1.3版本.rar ,看了一下,感觉这个版本还不错,其中的很多代码都可以学习。欢迎交流。

2015-12-14

【招财进宝手势密码】Fund_Gesture_Lock

【招财进宝手势密码】Fund_Gesture_Lock,找到的手势中,还不错的。对实际项目来说,可以直接用。本人亲测,欢迎交流。

2015-12-14

【鸿祥上下拉刷新--框架来着git pulltorefresh】

【鸿祥上下拉刷新--框架来着git pulltorefresh】,找了一些上下拉刷新控件,综合比较,感觉这个是最好的。本人亲测,欢迎交流。

2015-12-14

【鸿祥建行转盘】Android-CircleMenu-master

【鸿祥建行转盘】Android-CircleMenu-master,本人亲测,欢迎交流。

2015-12-14

ViewPager滑动Demo

ViewPager滑动Demo,可以用来做引导页和风光展示页,本例未解决问题: 无限滚动;轮播(估计要开线程实现).

2015-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除