开发经验总结
文章平均质量分 83
开发经验总结
TechMix
偏信则暗兼听而明。
展开
-
【用法总结】Systrace使用基础
一、systrace基本介绍被弃用了?二、快捷键用法二、systrace命令用法三、systrace报告怎么看?3.1 CPU调度信息3.2 线程状态信息3.2.1 绿色 : 运行中(Running)3.2.1 蓝色:Runanble状态3.2.1 白色:Sleeping状态3.2.1 橘色:不可中断的睡眠态 (Uninterruptible Sleep - IO Block)3.2.1 紫色 : 不可中断的睡眠态(Uninterruptible Sleep)3.4 帧率信息3.5 应用启动耗时分析。原创 2024-03-21 00:26:20 · 2341 阅读 · 0 评论 -
【用法总结】微信小程序开发第一印象
小程序的项目结构基本是按照前端最基础架构设计的,界面、逻辑、布局样式分别在不同的源文件中编写,但是和前端不同的是,微信小程序的源文件后缀都是被微信重新定义的。有点像某遥遥领先厂设计的,原本Android系统的Activity重新设计成了XXXAbility,实际上的指责是很类似的,因为实际上完成功能逻辑的架构模型是想通的,这个思想上并没有特别大的变化。原创 2024-01-28 23:11:22 · 935 阅读 · 0 评论 -
【用法总结】LiveData组件要点
总结在日常开发中LiveData数据注册-更新的逻辑,什么时候更新和注意事项。原创 2024-01-14 23:42:04 · 992 阅读 · 0 评论 -
使用CountDownLatch做并行任务时死锁问题解决
经过一番调研,最后选择使用较为常用的CountDownLatch配合线程池将无依赖的接口由串行改成并行,起初是使用同一个线程池,结果在拆分任务较多时,并发量大时出现了线程死锁问题,最后通过Android Studio自带的dump线程的功能,分析发现是在线程池的任务队列中死锁了。因为业务需求背景,某些功能页面会请求较多的网络接口,毕竟后端更多的是考虑业务的解耦,会造成客户端优化较多接口请求导致的等待耗时(转圈)问题,后端推动接口的合并困难,但是前端也是可以做一些优化的。原创 2024-01-11 09:25:34 · 691 阅读 · 0 评论 -
【性能优化】GSON解性能瓶颈分析
GSON是Google提供的开源库,使用很便捷,但是在使用过程中也发现了其短板,在Bean类结构复杂时,进行反序列化耗时占比较高,尤其是很多在应用启动阶段需要反序列化一些内置的数据时,很让人头疼,通过抓Trace每次都能发现这货肯定是大头。 为了从正面优化这个问题,于是我翻看了GSON反序列化的源码,实现了能优化的方案,希望能帮助到同样面临该问题的同学们,如有问题也可以提出来。如上图GSON解析过程的耗时可以原创 2024-01-11 09:23:13 · 778 阅读 · 0 评论 -
Kotlin协程核心理解
1、协程基本概念,和进程线程的关系,协程的关键API总结2、挂起函数的作用和执行流程3、Android常见的协程使用场景写法4、几种协程调度器的适用场景总结5、如何取消协程原创 2023-10-29 16:07:48 · 614 阅读 · 0 评论 -
AudioManager#abandonAudioFocus之后仍然泄漏?
记录使用AudioManager#requestAudioFocus()之后调用abandonAudioFocusRequest反注册,仍然内存泄漏问题。因为存放OnAudioFocusChangeListener的Map的key是用AudioManager对象的toString()拼接listener.toString()构造的。原创 2023-09-05 22:10:51 · 475 阅读 · 0 评论 -
从源码分析Activity,Window和View的关系
从源码角度分析Activity,Window和View的关系,总结学习经验,让您更加理解Android的GUI设计原理。原创 2019-08-18 19:55:47 · 1172 阅读 · 0 评论 -
一篇文章带你读懂Service为什么会ANR?
Service的ANR触发原理,是在启动Service前使用Handler发送一个延时的Message(埋炸弹过程),然后在Service启动完成后remove掉这个Message(拆炸弹过程)。如果在指定的延迟时间内没有remove掉这个Message,那么就会触发ANR(没有在炸弹爆炸前拆掉就会爆炸),弹出AppNotResponding的弹窗,让用户选择是继续等待还是直接退出应用程序。通过源码更深层次的理解ANR是这么产生的,从而在日常开发和实际ANR问题分析时能够游刃有余。原创 2023-07-25 18:05:52 · 578 阅读 · 0 评论 -
记录下代码重构怎么做更稳妥的思考
1. 追本溯源,清楚逻辑2. 代码未动,方案先行3. 及时记录改动点、影响面4. 改完一个点,要自测自测自测最小化commit,message要规范清晰原创 2022-07-12 00:19:22 · 271 阅读 · 0 评论