5 鱼包子Ray

尚未进行身份认证

万丈高楼平地起

等级
TA的排名 1w+

性能优化13_数据传输效率优化

Android性能优化汇总一 FlatBuffer使用原有在做 Android 开发的时候,JSON 是最常用的数据序列化技术。JSON 的可读性很强,但是序列化和反序列化性能却是最差的。解析的时候,JSON 解析器首先,需要在内存中初始化一个对应的数据结构,这个事件经常会消耗 100ms ~ 200ms2;解析过程中,要产生大量的临时变量,造成 Java 虚拟机的 GC 和内存抖动,解析 2...

2020-02-15 16:23:37

性能优化12_Android高清显示图片:哈夫曼算法

Android性能优化汇总一 原理同样的图片,在ios手机上显示的效果要比安卓手机上效果要好?图片处理引擎用的是pc上的图片处理引擎skia去掉一个编码算法—哈夫曼算法。采用定长编码算法**原因:**当时由于CPU和内存在手机上都非常吃紧 性能差,由于哈夫曼算法非常吃CPU,被迫用了其他的算法。需求:,随着安卓设备硬件水平的提升,可以在性能的安卓设备上使用一些比较耗费性能的算法,使得...

2020-02-08 19:46:26

性能优化11_Bitmap压缩

Android性能优化汇总1 质量压缩原理: 通过算法抠掉(同化)了图片中的一些某个些点附近相近的像素,达到降低质量介绍文件大小的目的。注意: 它其实只能实现对file的影响,因为bitmap在内存中的大小是按照像素计算的,也就是width*height,对于质量压缩,并不会改变图片的真实的像素使用场景: 将图片压缩后保存到本地,或者将图片上传到服务器。根据实际需求来。实现代码 ...

2020-02-05 19:40:12

性能优化11_Http请求缓存

Android性能优化汇总1 设置缓存Android系统默认的HttpResponseCache(网络请求响应缓存)是关闭的//这样开启,开启缓存之后会在cache目录下面创建http的文件夹,HttpResponseCache会缓存所有的返回信息 File cacheDir = new File(getCacheDir(), "http");//缓存目录 long maxSize = ...

2020-02-05 19:00:15

性能优化09_WakeLock在下载任务中的简单使用

Android性能优化汇总性能优化09_WakeLock1 需求使用异步进行下载, 为了防止下载中断,使用WakeLock2 WakeLock实现public class WakeLockActivity extends AppCompatActivity { TextView wakelock_text; PowerManager pw; PowerManag...

2020-02-05 15:24:10

性能优化10_JobScheduler源码

1 JobScheduler 实现获取 JobScheduler tm = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);两个方面分析:系统服务什么时候启动的寻找是否有JobSchedulerService的类结果:发现JobSchedulerService 存在JobSchedulerService...

2020-01-26 20:45:46

性能优化10_JobScheduler

Android性能优化汇总一 JobSchedulerwake_lock虽然好用,但是也会导致cpu频繁的被唤醒,系统提供给我们更好的API去使用:JobScheduler二 主要代码自定义一个JobService@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)public class MyJobService extends Job...

2020-01-21 20:25:42

性能优化09_WakeLock

Android性能优化汇总一 什么是wake_lockwake_lock锁主要是相对系统的休眠而言的,意思就是我的程序给CPU加了这个锁那系统就不会休眠了,这样做的目的是为了全力配合我们程序的运行。有的情况如果不这么做就会出现一些问题,比如微信等及时通讯的心跳包会在熄屏不久后停止网络访问等问题。所以微信里面是有大量使用到了wake_lock锁。wake_lock:两种锁,一种计数锁;非计数锁...

2020-01-21 20:16:10

性能优化08_电量优化:监控电量状态

Android性能优化汇总1 监控电量状态需求比如:360手机助手,当充上电的时候,才会自动清理手机垃圾,自动备份上传图片、联系人等到云端。原理通过监控电量状态来进行电量管理。获取手机的当前充电状判断只有当前手机为充电状态时 才去执行一些非常耗电的操作。是否充电代码 private boolean checkForPower() { //获取电池的充电状态 ...

2020-01-21 15:43:54

安卓日常案例汇总

01_RecyclerView实现列表Item长按移动、左右滑动删除

2020-01-20 10:58:15

性能优化07_电量优化:battery-historian安装

工具开源地址: https://github.com/google/battery-historian根据gitbub上面介绍,Battery History工具的安装有两种方式:通过安装Docker环境来安装。(这种方式很简单,Docker真心好用,太彪悍了!)Docker是一种容器,一般用于云计算和大数据平台。提倡的一种思想就是:软件即服务。这句话不是盖的,一句话就可以将别人发布的doc...

2020-01-17 08:43:06

性能优化06_渲染优化详解

Android性能优化汇总卡顿现象渲染功能是应用程序最普遍的功能,开发任何应用程序都是这样,一方面,设计师要求为用户展现可用性最高的超然体验,另一方面,那些华丽的图片和动画,并不是在所有的设备上都能刘畅地运行。我们来了解一下什么是渲染性能。首先,我们要知道Android系统每隔16ms就重新绘制一次Activity,也就是说,我们的应用必须在16ms内完成屏幕刷新的全部逻辑操作,这样才能达到...

2020-01-17 09:17:15

性能优化07_电量消耗的全过程分析

Android性能优化汇总设备忙着执行各种任务和各种复杂计算,秀自拍上传朋友圈图片、秀直播,设备硬件正在快速消耗电池电量来完成这些任务。很明显,你的任务处理的越复杂,电量就会消耗的越多和越快,一眨眼的功夫电量就消耗完了,用户的手机顿时变成个累赘的砖头了,这时候用户就会怀疑谁(哪个app)这么耗电,把它卸了!写出耗电量低的应用的关键是要透彻理解它的全部过程。在电子编程世界,这种硬件消耗电量 ...

2020-01-17 09:01:05

性能优化06_布局优化及Hierarchy Viewer使用

Android性能优化汇总在我们的绘制渲染机制里面比较耗时的:1.CPU计算时间CPU的优化,从减轻加工View对象成Polygons和Texture来下手View Hierarchy中包涵了太多的没有用的view,这些view根本就不会显示在屏幕上面,一旦触发测量和布局操作,就会拖累应用的性能表现。1.如何找出里面没用的view呢?或者减少不必要的view嵌套。工具:Hierarc...

2020-01-16 08:26:33

性能优化05_渲染机制

性能优化05_UI卡顿分析之内存抖动和计算性能优化性能优化05_View防止过度绘制+减少布局结构(减少测量等计算)

2020-01-15 20:53:20

性能优化05_内存抖动和计算性能优化案例

1 BusyUIThread:Display an image.(图片RGB色值变换加载)private class SepiaFilterTask extends AsyncTask<Bitmap, Void, Bitmap> { @Override protected Bitmap doInBackground(Bitmap... bitmaps...

2020-01-15 17:44:43

性能优化04_性能优化工具Allocation Tracker和LeakCanary、Lint

Android性能优化汇总一 Allocation Tracker1 作用追踪内存分配信息。可以很直观地看到某个操作的内存是如何进行一步一步地分配的2 使用在Memory窗口中点击图中标红的部分,启动追踪,再次点击就是停止追踪,随后自动生成一个alloc结尾的文件,这个文件就记录了这 次追踪到的所有数据,然后会在右上角打开一个数据面板:查看内容Arrange by pack...

2020-01-13 21:05:42

性能优化03_常见内存泄露分析

Android性能优化汇总前面的文章在分析内存泄漏之前我们知道了已经发生泄漏,并且明确知道那个Activity泄漏,通过查找更多侧重于对工具的熟练使用。在实际开发中,我们不知道应用是否发生泄漏,那里发生泄漏,这个时候如何快速定位问题呢?一 如何定位内存泄漏发生点1.确定是否存在内存泄露1) Android Monitors的内存分析最直观的看内存增长情况,知道该动作是否发生内存泄露。动...

2020-01-10 19:48:06

性能优化02_内存泄露分析及工具使用

一、Android Monitor1 生成.hprof文件Android Monitor是AndroidStudio自带工具,可以查看内存、网络、CPU使用情况,选定程序可以分析应用的资源使用,内存看CPU在Memory窗口显示时,先点击几次GC(垃圾回收),内存稳定后,点击生成内存.hprof文件2 分析在打开.hprof文件的视图窗口中,选择appheap、Arrange by ...

2020-01-09 19:31:33

性能优化02_MAT使用

下载:http://eclipse.org/mat/downloads.php1 转化hprof文件MAT工具全称为Memory Analyzer Tool,一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hprof文件。但是该文件不能直接被MAT使用,需要进行一步转化,可以使用hprof-conv命令来转化sdk\platform-tools>hprof-...

2020-01-09 18:35:15

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。