Android系统优化
文章平均质量分 54
binn_chern
这个作者很懒,什么都没留下…
展开
-
系统性能分析与优化
1.性能分析理论2.可操作性分析从资源角度分析,有CPU、GPU、内存CPU:比较底层,一般情况先更多的是受限于内存。google也提供有CPU优化方式,深入系统之中,对于普通开发着来讲,相对透明,需要更专业的知识。可以不考虑,有芯片方案方优化即可。分析问题可用top命令查看系统cpu状态GPU:有硬件加速。涉及不多,不做赘述,一般也和内存有很大关系内存:如论是...原创 2021-10-22 14:48:05 · 3082 阅读 · 0 评论 -
(3)Android test
1. 概览2. 调试2.1 概览2.2 过去调试信息2.3 诊断native crash2.4 评估性能原创 2021-04-21 10:06:30 · 133 阅读 · 0 评论 -
Android系统稳定性及性能
单元测试:https://developer.android.google.cn/training/testing性能优化:https://developer.android.google.cn/topic/performance原创 2020-09-15 09:38:38 · 1328 阅读 · 0 评论 -
正确理解内存回收log信息
当系统发生内存回收,会有logcat信息。那么如何正确理解内存回收信息呢?有两种类型的回收信息log:虚拟机时代的log和ART时代的log虚拟机时代的log每次产生GC时间,log格式如下:D/dalvikvm(PID): GC_Reason Amount_freed, Heap_stats, External_memory_stats, Pause_time示例:D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9翻译 2020-09-13 20:03:28 · 1499 阅读 · 0 评论 -
slab、slub内存管理与泄漏分析
经典博客类型文章slab、slub的关系SLUB和SLAB的区别系统性介绍kernel内存泄漏检测Linux内存管理 (22)内存检测技术drop_cache应用liunx的Slab占用比较高的问题slub、slab内存泄漏诊断有区别https://blog.csdn.net/dolp怎样诊断SLAB泄露问题判断slub、slab是否内存泄漏...原创 2020-03-06 14:59:15 · 1844 阅读 · 0 评论 -
Android lowmemkiller配置(Android7.1实践)
一、概述1.1 AndroidAndorid的Low Memory Killer是在标准的linux kernel的OOM基础上修改而来的一种内存管理机制。当系统内存不足时,杀死不必要的进程释放其内存。不必要的进程的选择根据有2个:oom_adj和占用的内存的大小。oom_adj代表进程的优先级,数值越高,优先级越低,越容易被杀死;对应每个oom_adj都可以有一个空闲内存的阀值。Andro...原创 2020-03-02 15:14:30 · 2028 阅读 · 0 评论 -
Android设备煲机脚本工具
目录结构MonkeyTest2.0/├── config│ ├── all_app_list.txt 设备中安装的所有app记录文件,在脚本运行是不会使用,仅仅为了修改黑名单和白名单时方便│ ├── blacklist.txt 应用测试黑名单,具体使用,请了解monkey的使用│ ├── config.sh 脚本运行的的配置文件,包括采集哪些内存信息,...原创 2020-02-29 15:10:04 · 242 阅读 · 0 评论 -
Android meminfo
Android中有一些内存信息查看工具:dumpsys meminfocat /proc/meminfo今天就说说这两个之间的关系。dumpsys meminfo的信息是不同的mem命令查到的信息,通过Android代码整合显示出来的,主要信息来源于/proc/meminfodumpsys meminfo命令执行的代码逻辑是ActivityManagerService.java中的dum...原创 2020-02-29 14:20:30 · 1207 阅读 · 0 评论 -
不同进程log占有量分析
不同进程log占有量分析获取不同级别TAG的行数和占用字节数awk '{tag[$3]++;use[$3]+=length($0)} END{for(i in use) print use[i],tag[i],i}' android.log | sed 's:\([0-9]*.*[0-9].*[a-zA-Z]\).*[(].*:\1:g;s:\(.*\)[@].*:\1:g' | awk '{...原创 2019-03-18 23:04:19 · 269 阅读 · 0 评论 -
代码性能优化--NENO编程
由一个简单例子上手neonh:https://blog.csdn.net/dwyane12138/article/details/78697210NDK编译——NEON支持:https://blog.csdn.net/suningning/article/details/74510542https://developer.android.com/ndk/guides/cpu-arm-neon...转载 2019-05-30 16:24:31 · 2522 阅读 · 0 评论 -
Android系统优化实操总结
Android系统优化内核优化DTS优化内核编译配置优化配置、服务、framework优化编译配置优化native service优化预加载优化字库优化预言优化内存优化内核优化DTS优化内核编译配置优化配置、服务、framework优化编译配置优化native service优化预加载优化字库优化预言优化内存优化...原创 2019-05-20 18:20:59 · 2931 阅读 · 0 评论 -
kernel .config优化
kernel配置优化一、概述二、明确具体CONFIG作用三、Kconfig格式解析一、概述在嵌入式开发中,使用linux kernel不可避免,kernel支持的驱动非常庞大,删除不需要的驱动也是势在必行。那么那么多的配置,都有什么作用?该删除哪些呢?下面介绍一种快速明白相应配置的功能。二、明确具体CONFIG作用以USB模块为例在kernel编译时使用的.config部分内容如下:#...原创 2019-05-16 15:24:55 · 2718 阅读 · 0 评论 -
kernel panic分析定位
1、经典博文序号名称链接1kernel panic , Oops 等cpu异常的分析与定位https://www.jianshu.com/p/db13bddf4bc02内核调试技巧–kernel panichttps://www.xuebuyuan.com/1609308.html3kernel panic 分析解决方法http://blog.chi...原创 2019-09-02 10:47:04 · 2909 阅读 · 0 评论 -
Android初始化Features
在SystemServer.java中初始化,会根据Feature初始化很多service,有些service不需要,可以通过配置Feature启动或者不启动。feature防止目录一般在:framework/native/data/etcframeworks/base/data/etc...原创 2020-02-25 16:29:50 · 952 阅读 · 0 评论 -
Android内存回收机制
Android内存回收机制策略1、GC2、lowmemorykillerGCGC是java虚拟机的内存回收机制。Android GC原理探究https://www.jianshu.com/p/a7f31aee4e2elowmemorykillerlowmemorykiller总结:https://www.jianshu.com/p/09922ab0390boom按照喜欢有两种情况...原创 2020-02-19 13:53:08 · 570 阅读 · 0 评论 -
Android lmkd
Android低内存机制Android5.0及之后lowmemorykiller模式lmkd服务及其socketlmkd代码目录system/core/lmkdservice lmkd /system/bin/lmkd class core group root readproc critical socket lmkd seqpacket 0660 sy...原创 2019-04-15 23:09:49 · 2532 阅读 · 0 评论 -
dex odex oat
什么是ODEX?Android应用程序中有一个叫做classes.dex的文件,这是Java源码经过ADT的编译后会转换出来的。它是Android系统中可以在Dalvik虚拟机上直接运行的文件格式,而odex则是由classes.dex生成的。ODEX优化有什么用?ODEX的用途是分离程序资源和可执行文件、以及做预编译处理,达到加快软件加载速度和开机速度的目的。一般来说,厂商的原厂系统都...转载 2019-04-21 13:25:45 · 563 阅读 · 0 评论 -
Android低内存配置
Android低内存配置概要平台优化改善内存管理裁剪系统占用内存内存使用统计编译配置打开低内存配置launcher配置内核(kernel)配置减少kernel或者应用直接触发前台内存回收再利用打开低内存杀进程功能打开Swap to zRAM功能官方原文:https://source.android.com/devices/tech/perf/low-ram?hl=en该文档以Android4...翻译 2019-04-14 10:48:27 · 5948 阅读 · 0 评论 -
内存优化--减少字库缓存
内存优化--减少字库缓存优秀博客字库使用1.字库组成2.字库功能查询3. 系统字库使用删减不必要的缓存字库优秀博客Typeface-为自定义字体提供字体内存缓存: https://www.cnblogs.com/yongdaimi/p/8032537.htmlAndroid 系统字体: https://blog.csdn.net/rjdeng/article/details/48545313...原创 2019-04-17 19:43:27 · 1247 阅读 · 0 评论 -
系统优化--脚本分析
系统优化--脚本分析一、概述二、分析方法三、脚本工具--抓取数据抓取数据脚本cpu_mem.sh四、脚本工具--log分析及数据统计概述top\cpu分析全面统计分析附录抓取log脚本代码log分析及数据统计一、概述在系统优化-内存优化分析过程中针对不同策略需要统计内存变化,检验是否有效。修改一些策略可能影响系统性能,因此需要多方面对比评估,如cpu占有率、io变化情况、长时间运行内存变化情况...原创 2019-05-22 18:13:57 · 1264 阅读 · 0 评论 -
monkey煲机停止运行分析总结
monkey停止运行原因1、monkey进程被杀(命令行方式,不会被杀)2、system_server挂掉a、内存不足(内存泄漏、后台服务太多)b、卡死(cpu高、ANR)c、地址无效,挂掉(内存越界或内存泄漏导致),分析挂掉最近运行的log3、kernel挂掉4、被重启(很少)具体分析开发初期:从全局分析1、分析ANR某个apk频繁出现ANR,可以先解决频繁出现的apk的...原创 2019-03-18 14:17:10 · 785 阅读 · 0 评论