
性能优化与测试
文章平均质量分 83
desaco
技术,产品,运营。安卓应用研发10年+。服务过多家上市公司。
展开
-
Android遇到的坑小结
> 如果知道使用executeOnExecutor方法,自己定义线程池就不会出现Task任务没有立即执行的情况http://zmywly8866.github.io/2015/09/29/android-call-asynctask-excute-not-run.html> Android 开发中,有哪些坑需要注意?http://www.zhihu.com/question/2781892转载 2016-07-30 23:42:16 · 1037 阅读 · 0 评论 -
Android性能分析工具Systrace和TraceView,性能测试GT等
> 性能测试GT性能标准:内存占用、cpu占用、流量耗用、电池温度、流畅度等等。性能测试,腾讯GT- https://github.com/TencentOpen/GT , https://github.com/Tencent/GT> Android性能分析工具Systrace和TraceView的使用- https://blog.youkuaiyun.com/xiyangyang8/a...转载 2018-10-24 22:16:26 · 1223 阅读 · 0 评论 -
Android内存泄漏检测LeakCanary,原理分析,解决方案
> LeakCanary使用及内存检测LeakCanary使用教程- https://blog.youkuaiyun.com/feather_wch/article/details/79223776LeakCanary的一个小Demo- https://github.com/NewBrandSTONE/MyLeakActivityAndroid性能优化之利用LeakCanary检测内存泄漏及解决办...转载 2019-01-23 19:28:44 · 1670 阅读 · 0 评论 -
Android应用停止运行处理策略(如 DeadSystemException)
Android应用停止运行处理策略- https://www.jianshu.com/p/c3da4681a19bAndroid DeadSystemException- https://stackoverflow.com/questions/42784731/android-deadsystemexceptionAndroid DeadSystemException- https://www...转载 2019-01-23 16:15:16 · 38878 阅读 · 0 评论 -
自动化测试,自动化测试框架,持续集成
> 基于Espresso和Dagger的自动化测试框架 测试框架可以使用Android推荐的Espresso. 模拟数据可以使用Dagger2, 一种依赖注入框架.Dagger2没有使用反射, 而是使用预生成代码, 提高执行速度. 基于Espresso和Dagger的自动化测试框架- https://github.com/SpikeKing/wcl-espresso-dagger-dem...转载 2019-02-12 12:38:53 · 2296 阅读 · 0 评论 -
Handler/Handler.post引发内存泄漏
GC ROOT static HandlerCenter.mHandlerList-- Android removeCallbacksAndMessages(null)不起作用; handler.removeCallbacks(null)不起作用; 调用handler.removeCallbacksAndMessages(null);可以清空当前handler的所有回调和所有消息。想当然的...转载 2019-02-18 20:54:01 · 2346 阅读 · 1 评论 -
Android性能专项测试之耗电量统计
电量消耗的技术框架。电量统计(1)-原理- http://duanqz.github.io/2015-07-21-batterystats-part1Android性能专项测试之耗电量统计API- https://blog.youkuaiyun.com/itfootball/article/details/49155979-- Android性能专项测试之耗电量统计API 6.0的对各个模块的消耗...转载 2019-02-13 14:57:41 · 2060 阅读 · 0 评论 -
Android Crash问题
-- TimeoutException: com.android.org.conscrypt.OpenSSLDigestContext.finalize() timed out after 120 seconds- https://github.com/google/conscrypt/issues/546 https://github.com/google/conscrypt/issues/...转载 2019-03-03 10:05:40 · 1933 阅读 · 2 评论 -
app冷启动与热启动原理,及启动优化
-- app热启动 app热启动: 当应用已经被打开, 但是被按下返回键、Home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时, 这个方式叫做热启动(后台已经存在该应用进程)。热启动因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActi...转载 2019-03-04 10:28:08 · 5768 阅读 · 0 评论 -
使用堆栈查看函数的调用 Android
使用堆栈查看函数的调用 Androidandroid 调用堆栈看函数调用ALOGD("dump callstack"); android::CallStack stack; stack.update( ); stack.log("CALLSTACK"); //callstack LOG_TAG要#include <utils/CallStack.h>看是...转载 2019-03-22 12:59:11 · 1193 阅读 · 0 评论 -
图片的性能优化,一张图片占多大内存的计算-android
>图片的性能优化图片的性能优化,运行期间检测不合理的图片- https://www.jianshu.com/p/adeeee995bc5- Bitmap 内存模型在 API10 之前,Bitmap 对象本身存在 Dalvik Heap 中,像素是存在 native 中,这样像素并不会占用 Heap 空间,也就不会造成 Heap 内存溢出。但是缺点是Bitmap 对象被回收了,但是...转载 2016-03-21 16:20:45 · 12057 阅读 · 0 评论 -
监控Android卡顿的可视化工具:卡顿及FPS
Android GPU呈现模式原理及卡顿掉帧浅析- https://www.jianshu.com/p/2ad8723865cc -- 常见分析、定位卡顿的方案,系统工具:1. TraceView ; 2. Systrace; 3. 命令行adb shell dumpsys SurfaceFlinger --latency com...包名 -- 第三方库方案: 1. Matrix-...转载 2019-05-29 20:37:31 · 5579 阅读 · 0 评论 -
Instrumentation.sendPointerSync()与MotionEvent.setSource() 模拟按键及事件反控
Robotium基于Instrumentation的二次封装,然而UiAutomation 也能通过instrumentation.getUiAutomation()拿到。android的输入事件处理, 大多跟InputReader, InputManager, InputManagerService。---- Instrumentation sendPointerSync(Mo...转载 2019-06-02 22:15:52 · 4538 阅读 · 0 评论 -
Soloπ:支付宝开源的Android专项测试工具
Soloπ:支付宝开源的Android专项测试工具- https://github.com/soloPi/SoloPiSoloπ:支付宝开源的Android专项测试工具- https://juejin.im/post/5d25a79ee51d4556db694a8d 测试:从早期基于测试脚本的单机自动化,到录制回放、图像识别、云测平台等测试技术贴合实际业务需求深度应用和创新,测试效率从而一次...转载 2019-07-14 15:54:39 · 4161 阅读 · 0 评论 -
Android 性能优化系列3
1.性能优化(一)APP 启动优化- https://juejin.im/post/5cc19374e51d456e781f2036-- Appcation 中优化方案:开子线程,线程中没有创建 Handler、没有操作 UI 、对异步要求不高懒加载,用到的时候在初始化,如网络,数据库,图片库,或一些三方库。使用 IntentService onHandleIntent () 方法...转载 2019-06-29 20:18:59 · 808 阅读 · 0 评论 -
Android Instrumentation,单元测试,白盒测试,自动化测试
Instrumentation和Activity有点类似,只不过Activity是需要一个界面的,而Instrumentation并不是这样的,我们可以将它理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用Target Package声明)的工具类。 Android 测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用I...转载 2018-10-24 21:44:08 · 1551 阅读 · 0 评论 -
Android apk打包流程,AAPT打包,apk瘦身
修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT> Android多渠道打包奇虎360 Android Multi channel package tool(安卓多渠道打包工具)- https://github.com/seven456/MultiChannelPackageTool美团的Android...转载 2018-10-24 10:53:40 · 1900 阅读 · 0 评论 -
弱网搭建及模拟工具,弱网或无网状态下 App的优化,弱网优化,网络优化(DNS/HttpDNS)
现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障- http://www.52im.net/thread-1413-1-1.html快速理解P2P技术中的NAT穿透原理- http://www.52im.net/thread-1055-1-1.html弱网测试工具Charles MAC.>App 优化网络- App 优化网络,先从优化 DNS 开始 在 ...转载 2017-01-23 17:53:12 · 4889 阅读 · 0 评论 -
Jenkins+Gradle持续集成,接口/压力测试,定时自动打包
持续集成- Jenkins+Android+fir+蒲公英,搭建持续集成环境。MCI:大众点评千人移动研发团队怎样做持续集成- https://mp.weixin.qq.com/s/XY3u-bMgsg3rKI_DHZmSTg> 持续集成 持续集成一般分为四个阶段,也是通过不断摸索实践,从历史长河演化而来,但这四个阶段的方式没有谁好谁坏,只有我们的现状适合哪个阶段。 1....转载 2016-11-17 21:23:31 · 848 阅读 · 0 评论 -
Android App优化:UI优化、启动提速(App加速启动 和 加速启动Activity)、APK瘦身等(1)
HierarchyViewer分析UI性能;GPU过度绘制分析UI性能;使用Memory监测及GC打印与Allocation Tracker进行UI卡顿分析;运行DDMS->Allocation Tracker;使用Traceview和dmtracedump进行分析优化;使用Systrace进行分析优化;使用traces.txt文件进行ANR分析优化。性能优化有那几个方面:一、内存优...原创 2016-07-31 23:51:54 · 1820 阅读 · 0 评论 -
UI 定位卡顿 原因及解决方法,UI 界面性能优化
> 检测应用在UI线程的卡顿方式:-- 如何检测应用在UI线程的卡顿,目前已经有两种比较典型方式来检测了:1.利用UI线程Looper打印的日志 https://github.com/markzhai/AndroidPerformanceMonitor2.利用Choreographer https://github.com/wasabeef/Takt https://gi...转载 2016-11-17 21:21:04 · 2020 阅读 · 0 评论 -
测试,自动化测试框架(Juint、Monkey等),mockito
AccessibilityService也可以用在自动化测试中。Android平台的安全测试框架,安全评估框架drozer- http://mwr.to/drozer利用drozer进行android渗透- https://www.cnblogs.com/goodhacker/p/3906180.html自动化渗透测试框架,静态和动态分析 - https://github.com/MobS...转载 2016-10-11 23:20:59 · 1520 阅读 · 0 评论 -
Android StatckOverFlowError/OutOfMemoryError(OOM),ANR,FC
APP 可能会出现卡顿、OOM、ANR FC 等现象。> FC:force close出现原因 force close,意为强行关闭,当前应用程序发生了冲突;NullPointExection(空指针),IndexOutOfBoundsException(角标越界)等等一系列未捕获异常> ANR:Log分析android anr traces日志分析方法-http://blo...转载 2016-11-27 14:18:43 · 890 阅读 · 0 评论 -
Android代码检测优化之StricMode
-- Android代码检测优化之StricMode- http://blog.youkuaiyun.com/qq_25804863/article/details/48566925 StrictMode的策略和规则:目前,有两大类的策略可供使用,一类是关于常用的监控方面的,另外一类是关于VM虚拟机等方面的策略。常用的监控方面的策略有如下这些: Disk Reads 磁盘读;Disk Writes ...转载 2017-11-15 21:44:34 · 506 阅读 · 0 评论 -
Android App优化:内存优化、电量优化、网络优化等 (2)
-- 优化专题: 整理一系列的专题:比如APK瘦身、插件化、程序架构、性能优化、自定义view、增量升级、移动开发各种技术解决方案等。 Android后期发展的五大趋势:一、性能优化;二、高级UI;三、JNI/NDK开发;四、架构师;五、RN开发; 性能优化有那几个方面:一、内存优化;二、UI优化(布局优化和绘制优化);三、速度的优化(线程优化/网络优化);四、电量优化;五、启动...转载 2016-08-14 16:51:05 · 3816 阅读 · 2 评论 -
野指针与内存泄漏,查漏补缺(面试),对象引用(句柄)与OOM等问题
> 强引用、软引用、弱引用和虚引用,Java中的引用类型Java 对象引用方式 —— 强引用、软引用、弱引用和虚引用- https://www.cnblogs.com/renhui/p/6069437.htmlJava四种引用包括强引用,软引用,弱引用,虚引用- https://www.cnblogs.com/yw-ah/p/5830458.htmljava强引用,软引用,弱引用,虚引...转载 2018-03-23 16:05:20 · 701 阅读 · 0 评论 -
App奔溃日志收集(Native Crash,java crash),UncaughtExceptionHandler
经典随机Crash之一:线程安全- http://mp.weixin.qq.com/s?__biz=MzAxMzYyNDkyNA==&mid=2651332781&idx=1&sn=f751d770f8853d503300b3c19abaea6c&chksm=8063339eb714ba88cd547f4e81981337a78da41563c01ef82b2e2e...转载 2017-07-13 20:17:09 · 2241 阅读 · 0 评论 -
Android Dex优化(Facebook ReDex),代码优化
-- 清除无效\未被使用的代码 UCDetector Android下优化 清除无效 未被使用的 代码 UCDetector,官方下载地址:http://www.ucdetector.org/index.html 需要注意: 反射 、在xml中配置注入方式、第三方工程的应用 、jar包调用 等 需要自己手工判断 建议删除类的时候 先全局搜索一下 判断有无其它地方调用 eclipse全局搜...转载 2017-07-05 18:40:12 · 2036 阅读 · 0 评论 -
Android手机功耗,高通/MTK功耗
功耗优化- https://blog.youkuaiyun.com/zhangbijun1230/article/category/7541658android 功耗优化- https://blog.youkuaiyun.com/zhangbijun1230/article/category/7618452MTK 驱动- https://blog.youkuaiyun.com/zhangbijun1230/article/cat...转载 2019-07-06 23:36:14 · 5504 阅读 · 0 评论