性能优化
文章平均质量分 77
码农驿站
这个作者很懒,什么都没留下…
展开
-
Android性能优化-Apk瘦身(3)
接Android性能优化-Apk瘦身(1)Android性能优化-Apk瘦身(2),今天我们说些总结。上述两文,我们述说了Apk瘦身从哪些方面入手,哪些地方值得我们去发现问题以及解决问题,这篇文章我们总结下常规性操作,包括grade打包配置。1、资源文件优化a、项目中可选择对主流的dpi支持,例如我们项目目前选择xxhdpi作为对标,对于大图片,可以通过网络加载方式执行。defaultConfig {resConfigs "zh" //表示只使用中文resConfigs "xxhdpi" //原创 2021-10-30 13:13:52 · 667 阅读 · 0 评论 -
Android性能优化-Apk瘦身(2)
今天我们接上篇Android性能优化-Apk瘦身(1),聊一聊res资源文件的优化。1、res资源文件优化随着我们项目功能越来越多,越来越负责,迭代也越来越多,项目中使用的资源文件也越来越多,也越来越复杂。a、删除无用的资源文件我们在Android studio中点击Refactor->Remove Unused Resources,此时出现这种方式我们是工具觉得这些资源无用的,我们需要有自己的辩证,那些资源能删除,那些资源不能删除,不能删除的需要把还原。b、当然我们也可以先查看那些原创 2021-10-30 13:08:43 · 1169 阅读 · 0 评论 -
Android性能优化-Apk瘦身(1)
接下来我们会聊一聊Android的应用瘦身。1、Apk结构上图是我用android studio打开一个apk文件所展示的截图,从上图我们可以看到,一个apk中有res、lib、dex、assets等文件组成,其中res、lib占了整个apk的70%左右的空间。lib: 包含特定于处理器软件层的编译代码。该目录包含了每种平台的子目录,像armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,和mips。大多数情况下我们可以只用一种armeabi-v7a,但目前各大应用市场原创 2021-10-30 12:33:37 · 1316 阅读 · 0 评论 -
Android性能页优化-启动页优化
这些天跟聊了下启动页优化问题,这是一个老生常谈的问题了。1、App启动方式:a、冷启动;应用被杀死,后台没有对应的进程的启动b、热启动;后台有应用进程的启动我们需要启动页优化,主要也是针对冷启动时候优化。在冷启动过程中我们应用是这样子执行的:由以上图我们可以知道,如果我们要优化启动速度点话,重点要把主线程在Application、启动Acitivity上的耗时减少以此达到优化目的。2、启动时白屏和黑屏设置启动Activity的theme的style包含windowBackground,他将原创 2021-10-30 12:28:59 · 936 阅读 · 0 评论 -
Android性能优化—网络优化
网络优化是一个比较大的命题,今天聊一聊在我们业务使用中必要的优化点。网络请求的划分网络优化按照业务区分可以分为日志收集、业务请求;按请求的优先级划分可以分为高优先级、中优先级、低优先级;按请求的重要性又可以划分为非常重要、重要、一般、可抛弃;按照请求频次又可以划分为高频次、一般频次、低频词。例如我们的日志收集就属于低优先级、高频次并且可抛弃的网络场景,对于这种网络场景,我们可以采取独立的线程池且不需要任何网络重试操作方案;我们可以针对网络应用场景的优先级、重要性、频次等来决定该场景应该采用怎么样的网原创 2021-10-30 12:25:37 · 592 阅读 · 0 评论 -
Android性能优化—耗电优化
作为移动设备,电池重要性不言而喻。怎么耗电通过上图可以知道,用户通过软件调用硬件资源而产生了耗电,那么我们可以控制软件调用硬件的频次以此达到降低耗电的目的。那么我们有哪些硬件是可以控制的呢?移动设备元件耗电大户下面我就挑几个常用的元器件聊一聊一、视频、音频、收音机在使用这些功能的使用时候,他牵涉的不单单一个元器件的问题,而是更多,所以我们在使用这些功能的时候要做到离开即刻关闭释放。早期做直播的时候,朋友问我为啥打开直播看了半小时就手机发烫呢,如果你的应用也出现此种情况,就要赶快检测以下几点了:原创 2021-10-19 21:25:58 · 3027 阅读 · 0 评论 -
Android性能优化—MAT之OQL详解(三)
OQL是Object Query Language的简写,即对象查询语言,OQL语法和关系型标准查询语言SQL的语法相似,只是增加了比如对象标识、复杂对象、操作、继承、多态性以及联系。SELECT1.SELECT * FROM java.lang.String2.SELECT toString(s), s.count, s.value FROM java.lang.String s (@为属性访问器,可以使用AS起个别名)3.SELECT AS RETAINED SET * FROM java.la原创 2021-10-19 21:04:22 · 463 阅读 · 0 评论 -
Android性能优化—内存分析工具MAT的使用(二)
我们通过Android性能优化—内存分析工具MAT的使用(一)大概了解了Android到MAT的转换过程。现在我们熟悉下MAT 中常规的使用。如图所示:Mat工具栏中有诸多功能,在我们平时使用过程中,基本上是使用红色框框那些个功能了:①Overview ②Histogram ③Dorminator Tree ④Object Query LanguageOverview用MAT打开一个hprof文件后会进入如下的overview界面,或者和这个界面类似的leak suspect界面,overview原创 2021-10-19 21:03:52 · 436 阅读 · 0 评论 -
Android性能优化—内存分析工具MAT的使用(一)
准备1、下载及安装Android SDK2、下载及安装MAT(http://www.eclipse.org/mat/)使用流程(windows平台)收集hprof文件1、在{ANDROID_HOME}\tools目下双击monitor.bat,打开DDMS界面,如图:2、选择要操作进程,如图:3、点击一下红色圈圈的按钮(在点击前,可以先点击下它右边的GC按钮),弹出如图:4、将hprof文件保存到指定的文件夹。转换hprof文件通过DDMS得来的hrpof文件,用MAT软件是打不开原创 2021-10-19 21:02:25 · 675 阅读 · 0 评论 -
Android性能优化—TraceView的使用
概述TraceView是Android平台配备一个很好的性能分析工具,它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到方法。如何使用通过Android studio自带的traceview查看(Android profiler)。通过Android SDK自带的Debug。通过DDMS中的traceview查看。通过Android studio自带的traceview查看通过Android studio 打开Android profiler 点击其中的CPU就会有以下的原创 2021-10-19 21:01:50 · 1379 阅读 · 0 评论 -
Android性能优化—线程管理
什么是线程线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。进程内有一个相对独立的、可调度的执行单元,原创 2021-10-19 21:00:06 · 443 阅读 · 0 评论