- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 Android Studio导入系统源码教程
一、修改AS的内存配置导入源码工程是一项消耗内存的事情,所以需要对AS原有的内存设置进行调节。修改如下:AS/bin/studio64.vmoptions 中 -Xms 和-Xmx 的值,建议使用 2048m, 可自行修改。若你的电脑是32位的,则早studio.vmoptions 对应32位系统修改。二、生成导入AS所需配置文件1、编译源码为了确保生成了.java文件,如R
2016-03-10 21:12:48
2438
原创 PMS介绍
一眨眼,一年又过去了。不知道小伙伴是否对旧的一年进行过总结:这一年我收获了什么?我想了想,发现去年还真没有什么很大的突破。自从开通这个个人公众号以来,才发现一个人很好的运行这个公众号还是挺难的。由于工作较忙,闲暇时间也要做些其他事情,导致了不能做到每天更新。不管怎样,我都会尽量去维护好的。 好了,今天我们将介绍PMS基础知识。了解PMS的基础知识是每一个做性能优化小伙伴们的必备知
2016-02-12 11:15:32
4842
原创 UX Performance问题解决分享
最近遇到一个问题:相同平台的两款机型,在Memroy相同(8G+1G)的情况下,预制资源之后,玩游戏上网一个小时之后,静置10min,在RAM 占用>70%,ROM 当时这个问题还是比较急,一上来我做来如下动作:下面以A表示差的机子,B表示好一点的机子。复现说实话,很多时候工程师是不大相信测试结果的,一定要自己复现该问题的现象。以Gamil为
2016-01-16 10:54:09
1315
原创 Measuring Activity Startup Time
In recent talks I've given, as well as theDeveloping for Android series, I talk about the need to launch quickly, and about how to ensure that you're testing the right launch speed (cold start
2016-01-04 23:53:34
516
原创 Bootchart使用
1 Bootcart结果图表上部为CPU和disk的使用情况,从左到右是时间轴,下方是各进程的运行状态条,显示各进程的开始时间和结束时间以及对应cpu和I/O利用情况。2 bootchart数据抓取Bootchart的数据抓取的devices必须有root权限,user权限下是获取不到的。2.1 配置要抓取手机开机
2016-01-04 23:52:35
1883
原创 三方应用接收不到开机广播
(1)、BOOT_COMPLETED对应的action和uses-permission没有一起添加需要三方应用在AndroidManifest.xml中写入:(2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的.(概率出现 )(3)、对于android3.1以后版本,如果要应用接收开机广播有两种方法:a).将应用预置到/sys
2016-01-04 23:48:00
3892
原创 Show GPU View Update实现原理
1 属性开关DevelopmentSettings:privatevoid writeShowHwScreenUpdatesOptions() {SystemProperties.set(HardwareRenderer.DEBUG_DIRTY_REGIONS_PROPERTY,mShowHwScreenUpdates.isChecked()? "true" : n
2016-01-04 23:46:19
1183
原创 printk打印log过多会导致performance下降
当遇到performance导致的各类问题时,例如卡音,冻屏,甚至是modem assert,可以先查看kernel log是否有发现连续大量调用printk打印太多log,此时,很有可能是因为客戶添加printk打印的log过多导致的问题!遇到这种情况时,可先尝试在user版本上看是否复现,如果不复现,一般会采取在ENG版本上开机加入Launcher之后关闭UART Log。进入
2016-01-04 23:37:30
2545
原创 Android Uiautomator工具使用
1 概述目前很多手机厂商都把Android benchmark工具的性能评测结果作为衡量手机好坏的参考标准。 楼主所在的公司也不例外。Benchmark有很多种,例如:antutu、androdrench等等。安兔兔只是系统性能评测的benchmark,androdrench是ROM评测工具。如果每一个benchmark工具都手动去执行,时间将花费很多。 本文以benchmar
2015-11-26 22:55:48
2203
转载 Android中app卡顿原因分析示例
作者:朱才链接:http://www.zhihu.com/question/24541467/answer/29020774来源:知乎上次主要针对题主说的具体问题“刷微博在苹果和Android手机上的差异”在具体的设备上做实验后进行了分析。今天我对“Android的流畅性”做个更进一步的讨论。加在后面。==============================
2015-11-24 22:10:23
2731
原创 界面卡顿Jank与FPS获取
1 VSYNC 的概念 VSYNC(Vertical Synchronization)是一个相当古老的概念,对于游戏玩家,它有一个更加大名鼎鼎的中文名字—-垂直同步。“垂直同步(vsync)”指的是显卡的输出帧数和屏幕的垂直刷新率相同,这完全是一个CRT显示器上的概念。其实无论是VSYNC还是垂直同步这个名字,因为LCD根本就没有垂直扫描的这种东西,因此这个名字本身已经没有意义。但
2015-11-24 22:08:14
6715
1
原创 清除Android工程中没用到的资源
项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情。清理资源文件要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工
2015-10-19 22:18:49
368
原创 Android Studio启动配置gradle遇到的问题
一、第一次创建Android工程的时候,现配置gradle,但是一般会卡在Download Gradle directly from http://services.gradle.org/distributions/gradle-1.10.all.zip字样解决方法:找到android-studio/plugins/android/lib/templates/gradl
2015-10-02 14:47:09
1455
原创 Android获取栈顶的activity
private ComponentName getTopActivity() { final ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE); ActivityInfo aInfo = null; List lis
2015-09-23 22:13:35
1025
原创 Android如何确定哪个APK正在偷流量的方法
1. 从复现问题的mobile log包中的main log里,找对应的System.out: [socket][**] connection这样的发起socket 连接的log并记住黄色标记的那个数字,这个数字就是访问网络的那个APK的进程号:02-26 09:56:39.096 742 840 I System.out: [socket][4] connecti
2015-09-20 11:57:51
1189
原创 LMK低内存管理机制
1 low memory killerAndroid的lowmemory killer是基于linux的OOM(out ofmemory)规则改进而来的。OOM通过一些比较复杂的评分机制,对运行进程进行打分,然后将分数高的进程判定为bad进程,杀死进程并释放内存。OOM只有当系统内存不足的时候才会启动检查,而lowmemory killer则不仅是在应用程序分配内存发现内存不足时启动检查,它也
2015-09-20 11:53:51
11018
转载 详解ListView加载网络图片的优化,让你轻松掌握!
写博客辛苦了,转载的朋友请标明出处哦,finddreams(http://blog.csdn.net/finddreams/article/details/40977451) 最近身边很多的人在问ListView加载网络图片该如何防止OOM,对于初学者来说ListView虽然平常用的比较多,但大多不知道该如何进行优化。同时,在面试的过程中ListView的优化问题也是最常会被问到的
2015-04-10 00:34:30
540
原创 Java设计模式--单例模式
一、单例模式的介绍Singleton 是一种创建型模式,指某个类采用 Singleton 模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。全局对象和 Singleton 模式有本质的区别,因为大量使用全局对象会使得程序质量降低,而且有些编程语言根本不支持全局变量。最重要的是传统的全局对象并不能阻止一个类被实例化多次。二、单例模式 的 特
2015-04-05 12:13:39
304
_Android手机防火墙的设计与实现
2014-10-06
VB2010托盘程序
2013-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人