手机性能
文章平均质量分 57
fan-james
向技术深处掘进。
展开
-
手机生成ODEX提升开机速度的原因
手机生成ODEX提升开机速度的原因:一:什么是odex odex是安卓上的应用程序apk中提取出来的可运行文件,是通过apk安装包的中的dex优化过的,再把apk包里的dex文件删除。这样做可以加快软件的启动速度, 预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。什么是dalvik-cache.原创 2017-06-16 11:21:26 · 3589 阅读 · 0 评论 -
CPU record top3
public static void recordCpuTopProcesses(ArrayList<ProcessCpuTracker.Stats> workingProcs){ if (workingProcs != null && workingProcs.size() >= 3) { ProcessCpuTrac...原创 2019-01-18 15:34:22 · 159 阅读 · 0 评论 -
1GB项目优化free memory
1:services/core/java/com/android/server/am/ProcessList.java int reserve = displayWidth * displayHeight * 4 * 3 / 1024; if (ActivityManager.isLowRamDeviceStatic()) { reserve = di...原创 2019-01-21 14:36:13 · 505 阅读 · 0 评论 -
解锁后立即释放资源,避免GTS测试systemUi内存占用大问题].
vendor/mediatek/proprietary/packages/apps/SystemUI / src/com/android/systemui/statusbar/phone/KeyguardBouncer.java protected void removeView() { if (mRoot != null && mRoot.getPare...原创 2019-01-16 15:58:54 · 401 阅读 · 0 评论 -
图库进入时间慢问题。
alps/vendor/mediatek/proprietary/packages/apps/Gallery2 / Android.mkLOCAL_DEX_PREOPT_FLAGS += --compiler-filter=speed原创 2019-01-16 16:02:25 · 244 阅读 · 0 评论 -
设置-访客模式下,出现半屏现象 .去掉入口
frameworks/base/core/res/res/values/config.xml <bool name="config_enableMultiUserUI">false</bool>原创 2019-01-16 16:04:21 · 463 阅读 · 0 评论 -
存储满问题
存储满提交记录检查,需要和模块确认1:Launcher部分 Intent intent = new Intent("android.settings.INTERNAL_STORAGE_SETTINGS"); intent.setPackage("com.android.settings"); intent.putExtra("lo...原创 2019-01-16 17:38:40 · 233 阅读 · 0 评论 -
修复system分区不能超过4G
platform/external/avb / libavb/avb_slot_verify.calps/vendor/mediatek/proprietary/bootable/bootloader/lk / platform/common/avb/libavb/avb_slot_verify.csize_t vbmeta_offset; ---->uint64_t vbmeta...原创 2019-01-23 16:15:43 · 613 阅读 · 0 评论 -
framework 中的动画介绍
当我们每次用别人的动画时会发现有时候只是喜欢其中的某几个界面的切换效果或是对其中的某个切换效果不满意,毕竟每个人的要求不同,于是我们就希望自己能修改出一个满意的效果,看了本文的介绍你就会发现其实修改动画并没有想象中的那么难,好了,下面是各个界面切换效果所对应的XML。wallpaper_close_enter.xml----------------进入程序弹出wallpaper_close_e...原创 2019-05-13 14:02:39 · 178 阅读 · 0 评论 -
某些进程延迟启动
每个进程的启动都会经过startProcessLocked 这个函数。为了加快启动速度,某些应用可以后续再启动if (NWD_SPEED_UP) { final String pkgName=app.info.packageName; Slog.d(TAG,"=====james====pkgName:"+pkgName+",mBootCom...原创 2019-05-22 16:06:56 · 828 阅读 · 0 评论 -
Linux文件授权
某些未知原因/cache/xx.ini没有权限,应用读不到文件,导致问题if [ -f /cache/xx.ini ]; then chmod 0777 /cache/xx.inifi原创 2019-05-27 19:35:01 · 634 阅读 · 0 评论 -
设置某些应用的优先级不让被杀
1:设置配置文件PromotionAppAdjList.ini2:读取配置文件放数组private ArrayList<String> mPromotionAppAdjList = new ArrayList<String>(); private String PROMOTION_APP_ADJ_LIST = "/nwdappconfig/app/P...原创 2019-08-27 17:13:20 · 416 阅读 · 0 评论 -
不让某个应用被kill
alps/kernel-4.9 / drivers/staging/android/lowmemorykiller.c selected_oom_score_adj = min_score_adj; rcu_read_lock(); for_each_process(tsk) { struct task_struct *p; short ...原创 2018-12-07 17:52:40 · 300 阅读 · 0 评论 -
禁止静态广播发送给第三方应用
frameworks/base / services/core/java/com/android/server/am/BroadcastQueue.java final void processNextBroadcast(boolean fromMsg) { int perm = mService.checkComponentPermission(info.activityIn...原创 2018-09-14 16:00:59 · 1674 阅读 · 0 评论 -
android手机内存使用情况分析
android手机内存使用情况分析 通常客户经常纠结手机内存的使用率不合理,占有的内存太大,可用内存很少,客户往往需要给出解决方案或在给出原因,那么你首先需要知道手机的内存都被什么应用占有了,只有知道这个你才能找到解决方案或在给出客户能够接受的解释。 抓起手机内存使用情况的命令如下:原创 2017-09-08 15:47:21 · 1972 阅读 · 0 评论 -
性能优化之参数调整
很多情况下我们需要对某些游戏场景进行优化,其实已经存在了这么一个白名单文件。路径为:alps/vendor/mediatek/proprietary/hardware/power / config/mt6739/app_list/power_whitelist_cfg.xml通过power_whitelist_cfg.xml可以针对某些游戏,调整在运行游戏是的CPU核数和FPS的频率,避免玩游戏过...原创 2018-06-23 15:44:33 · 1142 阅读 · 1 评论 -
O版本开机启动速度
android O版本后,第一次开机速度做了一些调整。启动应用时间优化:ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes) LOCAL_DEX_PREOPT_FLAGS += --compiler-filter=speed else LOCAL_DEX_PREOPT_FLAGS += --compil...原创 2018-06-25 14:16:18 · 860 阅读 · 0 评论 -
获取手机电池百分比和电池容量方法
在智能手机的开发过程中,经常需要获取手机的电池信息。其实获取的方法很多,下面介绍下方法。一:首先介绍获取电池容量。例如java反射方式获取。代码如下...原创 2018-06-25 17:27:32 · 5667 阅读 · 1 评论 -
android studio抓起systrace的方法
1:Connect device with Android Device monitor 2:select the multi-select box as belowpicture:3:please rememeber the path :4: click OK ,and then reproduce the problemin time .5:copy the trace.html from p...原创 2018-07-04 10:54:44 · 5771 阅读 · 0 评论 -
获取进程占用内存
如何设置获取当前进程占用的内存大小路径为:/frameworks/base / services/core/java/com/android/server/am/ActivityManagerService.java每个应用进程都会执行到ActivityManagerService.java中,在ActivityManagerService.java中能够做很多事情,如果需要统计下当前进程占...原创 2018-07-05 11:45:39 · 1581 阅读 · 0 评论 -
应用启动速度研究
提升应用启动速度的方法很多。其实提升应用的启动速度可以分为系统提升和应用本身的提升。应用本身提升就是优化应用代码逻辑和应用界面布局,减少应用启动在oncreate()函数所花费的时候。这个网上也介绍了很多方法和工具,这里就不介绍了。另外一个方法就是通过系统提升。下面介绍下通过系统提升的几种方法。1:使用系统的快速启动窗口。这样的话就能够保证应用在启动一次后,后面的启动速度加快。2:但是androi...原创 2018-07-05 17:15:55 · 370 阅读 · 0 评论 -
kill -3 pid 和kill -9 pid
做系统稳定性问题分析,当遇到系统卡死时,我们经常要使用“kill -3 pid”来打印System_Server进程各个线程的Java调用栈,根据线程状态及调用栈来更进一步定位问题点,当然某个应该界面卡顿时间长时也可以通过这个命令来抓取Java调用栈进行分析。注意native进程是不能用kill -3来打trace的,而是使用debuggerd.kill -3 pid 后文件的保存路径为:/pr...原创 2018-07-12 16:57:51 · 25424 阅读 · 1 评论 -
android process die的原因分析介绍
1:低内存查杀LMK(low memory killer)当我们要退出一个进程时只能按返回键,而该进程并没有真正的关闭,进程依然是存在于内存之中.这样设计的目的是为了下次能快速启动.当然,随着系统运行时间的增长,内存会越来越少,所以系统会定期执行一次检查,清理一些进程,释放掉内存.这就是Android的Low MemoryKiller机制在kernel/drivers/staging/androi...原创 2018-07-06 10:09:13 · 1858 阅读 · 0 评论 -
使用adb 命令抓起systrace的方法。
1:新建一个txt文档,重新命名为run.bat 2:将如下代码放在run.bat中adb shell atrace -c -b 10240 --async_start -z gfx input view wm am sched load idle freqpauseadb shell atrace -c -b 10240 --async_stop -z gfx input vie...原创 2018-08-07 15:10:01 · 3687 阅读 · 0 评论 -
adb shell 查看当前进程和窗口信息
adb shell 查看当前进程和窗口信息可以使用如下命令:>adb shell>dumpsys window windows |grep "Window #"显示信息如下: 2:打开AMS、WMS的命令行如下:adb shell dumpsys activity log x onadb shell dumpsys window -d enable a...原创 2018-08-22 10:40:23 · 14866 阅读 · 0 评论 -
whitelist: 针对个别apk由于的dex2oat原因安装失败/ 安装慢 / lunch慢的处理方法
[DESCRIPTION]自L版本之后,所有的APP要经过dex2oat处理过之后,才能运行。而dex2oat的任务是将原来的dex文件做预先的翻译,从而可以加快APP运行的时间。但是由于某些APP比较复杂,所以优化的时间就比较长。优化是以dex文件中的method为单位。dex2oat在优化时,会根据需要优化一定量的method。也就是说并不是优化的method都会被翻译成oat模式。根据优...原创 2018-08-22 10:51:46 · 2312 阅读 · 0 评论 -
设置dalvik.vm堆栈属性,减少GC,提升性能
项目中可能会出现性能跟对比机相比,不好的情况,首先可以看对比机的如下属性,看下跟自己的手机是否一致。很多对比机性能是经过优化的,需要对各项影响性能的指标逐一对比。 PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapmaxfree=8mPRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapminfree=512k...原创 2018-08-24 17:47:01 · 2725 阅读 · 1 评论 -
关于APP应用无响应的处理
什么是ANRANR,是“Application Not Responding”的缩写,即“应用程序无响应”。在Android中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会监测应用程序的响应时间,如果应用程序主线程(即UI线程)在超时时间内对输入事件没有处理完毕,或者对特定操作没有执行完毕,就会出现ANR。对于输入事件没有处...原创 2018-08-25 11:28:00 · 7462 阅读 · 0 评论 -
可以延长启动的应用
ArrayList<String> otherDelayedApps = new ArrayList<String>(Arrays.asList( /*3th app*/ "cn.kuwo.kwmusiccar", "com.kugou.fm", "cn.etouch.ecalendar", ...原创 2019-08-27 17:28:45 · 301 阅读 · 0 评论