
性能优化
文章平均质量分 85
小陈乱敲代码
这个作者很懒,什么都没留下…
展开
-
Android性能优化之绘制优化
通过canvas.clipRect()来帮助系统识别那些可见的区域。这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制。并且,它还可以节约CPU和GPU资源,在clipRect区域之外的绘制指令都不会被执行。在绘制一个单元之前,首先判断该单元的区域是否在Canvas的剪切域内。若不在,直接返回,避免CPU和GPU的计算和渲染工作。1、发现问题:除使用时感知的卡顿外,还应通过卡顿监控工具来发现整体的耗时情况,或打开开发者选项的一些辅助工具来发现问题。原创 2022-12-15 16:07:28 · 1290 阅读 · 0 评论 -
快手Android性能优化岗位面试题分享,论文答辩都没这么难
前段时间投递了快手的移动开发工程师-性能方向,自己在先前三年的工作中做得更多的地方就是Android性能优化这块,这次面试也等于是和面试官在性能优化这个话题进行了一次深入的交谈。原创 2022-11-27 22:09:47 · 413 阅读 · 0 评论 -
Android内存优化详解
RefWatcher.watch()创建了一个KeyedWeakReference用于去观察对象。然后,在后台线程中,它会检测引用是否被清除了,并且是否没有触发GC。如果引用仍然没有被清除,那么它将会把堆栈信息保存在文件系统中的.hprof文件里HeapAnalyzerService被开启在一个独立的进程中,并且HeapAnalyzer使用了HAHA开源库解析了指定时刻的堆栈快照文件heap dump。原创 2022-11-24 16:57:39 · 507 阅读 · 0 评论 -
Android性能优化的逻辑,都藏在项目实战经验里
性能优化问题不是一两次版本就能解决的,在项目全过程中,我们都需要懂得性能优化的方法,这样才能更好地进行Android开发工作原创 2022-11-16 17:59:56 · 134 阅读 · 0 评论 -
【Android性能优化】内存泄漏与排查流程,6年老Android经验总结
前言内存泄漏可以说是安卓开发中常遇到的问题,追溯和排查其问题根源是进阶的程序猿必须具备的一项技能。小盆友今天便与大家分享一下这方面的一些见解,如有理解错误或是不同见解,可以于评论区留言我们进行讨论,如果喜欢给个赞鼓励下吧。篇幅较长,可以通过目录寻找自己所需了解的吧目录1、JAVA内存解析2、JAVA回收机制3、四种引用4、小结5、安卓内存泄漏排查工具6、内存泄漏检查与解决流程7、常见的内存泄漏原因1、JAVA内存解析要想知道内存泄漏,需要先了解java中运行时内存是怎么构成的,才原创 2021-12-29 10:04:40 · 1863 阅读 · 1 评论 -
【Android面试题】ViewModel源码分析,在什么情况下的「销毁重建」能够对数据进行无缝恢复?
一、前言本篇文章主要涉及以下三个问题:ViewModel 在 Activity 发生旋转等配置发生变化所导致的重建,能恢复数据吗?如果 1 能,从源码角度分析,数据存在哪?怎么存储的?怎么读取的?当 Activity 切换到后台,被系统杀死(进程存活),此时回到 Activity 导致的重建,ViewModel 的数据能恢复吗?为什么?作者付十一二、案例解答首先我们来看一下问题一:ViewModel在Activity发生旋转重建时,能恢复数据吗?举个栗子。我们创建一个ViewMod.原创 2021-12-21 17:28:27 · 2000 阅读 · 0 评论 -
微信Matrix源码分析-如何计算App启动耗时
什么是启动耗时分为两个角度:冷启动:就是点击应用图标到打开应用的冷启动响应时间,且前提是应用从未被创建过进程,热启动:测量点击应用图标到打开应用的热启动响应时间,被测应用之前已经被打开过,无关闭应用行为,测试时被重新切换到前台启动耗时影响什么第一想到的肯定是用户体验,如果你的应用半分钟没有启动起来,那谁还想用呢?所以很多大厂App,虽然一个App承载的业务多的数不胜数,但肯定都有一个特点,一点就开,即开即用。启动耗时的标准是什么各类应用的冷启动时间应≤2000毫秒、游戏类应用和影音娱乐类应原创 2021-12-20 11:00:34 · 1700 阅读 · 1 评论 -
Android Runtime | Trace文件的生成机制
本文分析基于Android S(12)当App发生ANR或是System触发watchdog时,系统都希望生成一份trace文件,用来记录各个线程的调用栈信息,以及一些进程/线程的状态信息。这份文件通常存放在/data/anr目录下,APP开发者拿不到。不过从Android R(11)开始,App便可以通过AMS的getHistoricalProcessExitReasons接口读取该文件的详细信息。以下是一份典型trace文件中的内容。----- pid 8331 at 2021-11-26 09:1原创 2021-12-17 10:36:46 · 2308 阅读 · 1 评论 -
一场面试带你搞懂:Android串口通信
小伙子,简历上说你搞过串口通信,说说吧!1、串口通信是什么串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式说人话就是将数据按位依次传输画个图串口就相当于一个管道,在硬件方面也有表示,有三根跳线, 一个是Tx线,一个是Rx线,还有一根是地线,这个管道传输的数据,也就是bit是串行的,有顺序的2、串口的应用场景串口通信这个东西,在Android开发中用到的并不多,我们绝大多数App都是用Http和后台进行通信,获取后台数据并展示,而串口通信是应用在,智能家居,和单片机通信的场景,人.原创 2021-12-16 15:26:56 · 3014 阅读 · 1 评论 -
Android-面试:2年以上Android面试必看的性能优化必知必会
前言如题,这是一篇关于Android面试-性能优化最常问的面试题、面试点的文章。这也是“Android-面试官”系列的第二篇文章。对Java模块比较薄弱的小伙伴可以去看一下我的上一篇文章:Android-面试官:这些Java知识点我必问好了,废话不多说,直接冲冲冲!前排温馨提示:阅读本文前,请自备豆浆!如果你已经有 2 - 3 年以上Android开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了。无论是日常工作中还是跳槽面试的时候,性能优化都是我们打怪成长为一名优秀的高级开发工程师.原创 2020-11-13 15:23:23 · 1811 阅读 · 2 评论