Android 性能优化
lf12345678910
这个作者很懒,什么都没留下…
展开
-
测试界面性能
用户界面 (UI) 性能测试可确保您的应用不仅满足其功能要求,同时确保用户与应用之间的交互顺畅无比,能够以每秒连续 60 帧(为什么选择 60fps?)的帧速运行,而不会出现任何帧丢失或延迟的现象,也就是我们通常所说的“卡顿”。本文档介绍可用于测量 UI 性能的工具,并提出一种将 UI 性能测量集成到测试实践中的方法。测量 UI 性能为了改善性能,您首先必须能够测量系统性能,然后诊断并识别...转载 2020-01-03 20:22:41 · 1195 阅读 · 0 评论 -
分析应用性能
如果应用响应速度慢、动画播放不流畅、卡顿、崩溃或极其耗电,则表示其性能差。要避免出现这些性能问题,请使用本页中列出的分析工具和基准化分析工具来确定应用对哪方面的资源(例如 CPU、内存、显卡、网络和设备电池)的利用率低下。注意:分析应用时,您应停用 Instant Run。使用 Instant Run 时会轻微影响性能,而更新方法时则会产生稍大的影响。这种性能影响会干扰性能分析工具提供的信息。...转载 2020-01-03 17:03:31 · 184 阅读 · 0 评论 -
性能与功耗
实现奇特的创意为构建用户满意的应用开了个好头,但这仅仅是个开始。下一步需要尽可能提高应用的性能。例如,用户对应用具有如下的期望:耗电少。 启动快。 对用户互动响应迅速。本部分为您提供必要的操作方法,帮助您打造既奇特又高效的应用。请阅读下文,了解如何开发耗电少、响应快、效率高且运行稳定的应用。文档Android Vitals 进程和线程概览 通过线程提升性能 针对电池续航时间...翻译 2019-12-30 22:55:24 · 847 阅读 · 0 评论 -
Systrace 性能分析
在构建功能,修复bug,整理代码之后,你应该花一些时间来关注应用的性能。应用画像素和执行操作的速度和流畅度影响了用户体验。 Android应用运行在一个共享资源的环境中,你的应用的性能会被与其交互的系统资源的效率所影响。应用也运行在一个多线程的环境中,与其它拥有线程的进程争夺资源,可能会引起很难诊断的性能问题。 Systrace工具允许你收集和审查应用和Andr...转载 2019-04-26 10:07:00 · 1841 阅读 · 0 评论 -
开机向导 Google账号
google 安全策略。可以同时按power键和音量下键进入bootloader模式输入以下命令解决:fastboot erase config可能需要 fastboot oem unlock-go...原创 2019-05-15 09:53:05 · 698 阅读 · 0 评论 -
permissions 权限
如果我们想知道某个权限怎么使用,有什么制约怎么办? pm list permissions -f 来查看系统所有权限的描述 如果我们需要在系统中增加一个权限,怎么办?那我们照下列的步骤来做 1.确定你的权限属于文件访问控制,还是接口调用控制。 2.在frameworks/base/core/res/AndroidManif...原创 2019-05-10 09:33:20 · 2957 阅读 · 0 评论 -
恢复出厂设置
/*** Confirm and execute a reset of the device to a clean "just out of the box"* state. Multiple confirmations are required: first, a general "are you sure* you want to do this?" prompt, fol...原创 2019-05-10 09:27:18 · 1466 阅读 · 0 评论 -
AndroidManifest中android:persistent属性研究
平台:android4.0场景:处理一个项目的时候,发现客户内置的一个music相关的apk每次都开机自动启动,同时在eclipse里面如何stop或者是调用killAllBackgroundProcesses()方法都无法停止此apk。时间:2013.3反编译apk,发现其AndroidManifest.xml文件中有一个类似如下描述: <application and...转载 2019-05-07 09:32:34 · 930 阅读 · 0 评论 -
应用程式和数码内容供应国家_地区 - Google Play 说明.htm
应用程式和数码内容供应国家_地区 - Google Play 说明.htm我们很高兴能将 Google Play 服务推广到全球更多国家/地区。目前 Google Play 的付费应用程式和数码内容已在下列国家/地区供应:Android 付费 Android 应用程式全球多个国家/地区均有供应。Google Play Books app 图书阿根廷、澳洲、奥地利、白俄罗斯、...原创 2019-05-14 09:43:39 · 386 阅读 · 0 评论 -
android 函数调用流程 、 android打印程序调用堆栈信息
new RuntimeException("here").fillInStackTrace());Slog.e("settings", " setOnCheckedChangeListener",new RuntimeException("here").fillInStackTrace());ActivityManagerService.java @Overri...原创 2019-05-09 09:14:33 · 556 阅读 · 0 评论 -
anr 简单梳理
ActivityManagerService :startActivityAsUser inputDispatchingTimedOut /appNotRespondingViaProvider appNotResponding mWindowManager.dumpWindowStatus(ActivityRecord.appToken);ActivitySta...原创 2019-04-29 09:21:30 · 116 阅读 · 0 评论 -
Android程序Crash时的异常上报
http://blog.csdn.net/singwhatiwanna/article/details/17289479转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479前言大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是...转载 2019-04-29 09:14:25 · 263 阅读 · 0 评论 -
android中dumpsys函数介绍与使用
dumpsys是系统中重要的函数,我们来看看它如何使用,都能dump出来一些什么东西首先我们来看看dumpsys的源码,在4.1中,它在framework/native目录下面frameworks/native/cmds/dumpsys/dumpsys.cppCpp代码 if(argc==1){ services=sm->listServic...转载 2019-04-28 17:25:44 · 2074 阅读 · 0 评论 -
permission :protectionLevel 默认权限
data/system/users/0/runtime-permissions.xmlandroid/frameworks/base/core/res/AndroidManifest.xmlandroid:protectionLevel="dangerous"dangerous : 代表只能由用户手动授予其权限android/frameworks/ba...原创 2019-05-10 11:26:18 · 1707 阅读 · 0 评论 -
Debug Android Third Party Application Issues
debug methods and tools:Debugging methods:Compare normal and abnormal logs getting from different devices.Check strace logs for system call status while an application is running.Search key...原创 2019-05-21 10:49:11 · 157 阅读 · 0 评论 -
应用闪退
01-10 16:15:02.883 I/ActivityManager( 3402): START u0 {dat=content://mms-sms/conversations/13 cmp=com.android.mms/.ui.ComposeMessageActivity} from uid 10025 on display 001-10 16:15:03...原创 2019-05-21 10:52:10 · 1928 阅读 · 0 评论 -
android 一键清除 清理
前言 在Android设备中,我们经常会看到与系统或者应用相关的清除功能有:清除数据、清除缓存、一键清理,这么多清除功能对于一个程序猿就够难理解了,偏偏很多安卓设备上都有这些功能,对于用户来说就更难理解,趁着在把玩手机的时候想到了这一点,索引追根究底了解他们的具体区别。清除数据、清除缓存、一键清理的区别清除数据 清除数据主要是清除用户配置,比如Shar...转载 2019-05-13 10:59:53 · 3070 阅读 · 0 评论 -
crash anr
am_low_memory:位于AMS.killAllBackgroundProcesses或者AMS.appDiedLocked,记录当前Lru进程队列长度。 am_pss:位于AMS.applyOomAdjLocked或者AMS.requestPssLocked am_meminfo:位于AMS.dumpApplicationMemoryUsage am_proc_start...原创 2019-05-17 09:48:02 · 642 阅读 · 0 评论 -
qualcomm memory dump 抓取方法
http://blog.csdn.net/u013531497/article/details/18700663Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健康状态,就像飞机黑盒子用于记录飞行器飞行状态。当出现cras...转载 2019-05-17 09:44:39 · 1469 阅读 · 0 评论 -
adb shell top
http://blog.csdn.net/kittyboy0001/article/details/38562515adb shell toptop命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.adb shell top命令 执行Linux下的t...转载 2019-05-17 09:44:26 · 1288 阅读 · 0 评论 -
native crash
Sometimes we can find the SIGABRT (signal 6) or SIGSEGV (signal 11) from the logcat logs, usually it’s because the application attempts to access a memory location that it is not allowed to acce...原创 2019-05-17 09:44:05 · 360 阅读 · 0 评论 -
memory leak
java.lang.outofmemoryerrorcat /proc/ meminfo 查看内存system_server surfaceflinger servicemanager (android reboot)Write a script to catch the following information continually:adb r...原创 2019-05-17 09:43:48 · 585 阅读 · 0 评论 -
binder issues
the servicemanager's handle id is 0.#define BINDER_VM_SIZE ((1*1024*1024) -(4096 *2))#define DEFAULT_MAX_BINDER_THREADS 15“no address space” (in kernel log):This means that the tar...原创 2019-05-17 09:43:17 · 1094 阅读 · 0 评论 -
Android测试日志文件抓取与分析
1.log文件分类简介实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志状态信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等2.LOG...转载 2019-05-17 09:42:52 · 533 阅读 · 0 评论 -
Android中app卡顿原因分析示例
在知乎回答了一个“为什么微博的app在iPhone比Android上流畅”的问题。后面部分是一个典型的动画卡顿的性能分析过程,因此帖在这里。有编程问题可以在这里交流。知乎链接。=========================================================我来说下我所知道的事情。我不知道iOS为什么流畅,但我知道一些Android为什么不流畅的原因。首先...转载 2019-05-22 09:19:38 · 2369 阅读 · 0 评论 -
Android各种获取代码调用栈的方法[补]
http://blog.csdn.net/freshui/article/details/54693784打印调用栈不用说,基本上每位开发者都会用到,讨论几个方法,以前也说过,http://blog.csdn.net/freshui/article/details/9456889再次简单整理一下吧,啰嗦就啰嗦了 :)基本分两大类,一类是静态的,要把打印语句插入到代码中,...转载 2019-05-11 17:30:46 · 526 阅读 · 0 评论 -
SELinux
android\system\sepolicy\一 SELinux背景知识1. DAC和MACSELinux出现之前,Linux上的安全模型叫DAC,全称是Discretionary Access Control,翻译为自主访问控制。DAC的核心思想很简单,就是:进程理论上所拥有的权限与执行它的用户的权限相同。比如,以root用户启动Browser,那么B...原创 2019-05-21 11:06:47 · 308 阅读 · 0 评论 -
storage cleanup
\vendor\xxx\proprietary\plus\Extension\apps\StorageCleaner <string name="application_cache">缓存垃圾</string> <string name="unavalible_apk">无用安装包</string> <st...原创 2019-05-13 11:00:52 · 343 阅读 · 0 评论