首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Tree1916
掘友等级
Android@深圳
Android@深圳
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
54
文章 49
沸点 5
赞
54
返回
|
搜索文章
赞
文章( 49 )
沸点( 5 )
如何开发一款高性能的 gradle transform
对于java开发者来说,大家好像都比较喜欢在编译期间搞事儿,比如为了做到AOP编程,大家都喜欢利用字节码生成技术,常用的有无痕埋点,方法耗时统计等等。那么Android中具体是如何做到这些的呢?所谓字节码插桩技术,其实…
面试高频题:一眼看穿 SharedPreferences
SharedPreferences是 Android 中比较常用的存储方法,它可以用来存储一些比较小的键值对集合,并最终会在手机的/data/data/package_name/shared_prefs/目录下生成一个 xml 文件存储数据。它的使用非常简单,是一个 Andro…
AOP 最后一块拼图 | AST 抽象语法树 —— 最轻量级的AOP方法
Aspect 语法难懂?ASM 字节码操作繁琐?APT 难以精准找到切入点?你该试试 AST 了!编辑器级别,效率高,更轻量。 这就是抽象语法树 AST。AST(abstract syntax tree)即抽象语法树,是源代码的抽象语法结构的树状表现形式,每一个节点代表一个语法…
Android读写锁的应用,以及最佳的磁盘缓存设计
可重入锁,就是说一个线程在获取某个锁后,还可以继续获取该锁,即允许一个线程多次获取同一个锁。通俗的来讲就是支持在同一个线程里面对多个文件进行读写操作,都可以获取同一个锁,但是获取多少锁就要回收多少锁,下面给个例子方便理解 注意:因为主线程2次获取了锁,但是却只释放1次锁,造成死…
[译] JavaScript 简明代码 —— 最佳实践
如果你不只是担心你的代码是否能生效,还会关注代码本身及其如何编写,那你可以说你有在关注简明代码并在努力实践。专业的开发者会面向其未来和其他人而不仅是为了机器编写代码。你写的任何代码都不会只写一次,而是会待在那等待未来维护代码的人,让他痛苦不堪。希望那个未来的家伙不会是你。 基于…
58无埋点数据采集技术在Android端实践
作者详细阐述了无痕埋点方案在 58 集团 Android 端的实践方案,很值得一读!
Android进程框架:进程的创建、启动与调度流程
当手机处于关机状态时,长按电源键开机,引导芯片开始从固化在Boot ROM里的预设代码开始执行,然后加载引导程序Boot Loader到RAM。 Boot Loader被加载到RAM之后开始执行,该程序主要完成检查RAM,初始化硬件参数等功能。 引导程序之后进入Android内…
RecyclerView 性能优化 | 安卓 offer 收割基
阿里四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 这里的 Html.fromHtml(data) 方法可能就是比较耗时的,存在多个 TextView 的话耗时会更为严重,这样便会引发掉帧、卡顿,而如果把这一步与网络异步线程放在一起,站在用户角度,最…
彻底弄懂 Java 线程池原理
这篇文章是我在阅读源码时整理的一些笔记,对源码的关键点进行了比较详细的注释,然后加上一些自己对线程池机制的理解。最终目的是要弄清楚下面这些问题: AtomicInteger 类型。高3位存储线程池状态,低29位存储当前线程数量。workerCountOf(c) 返回当前线程数量…
HashMap 查漏补缺
HashMap 是面试的钉子户了,网上分析的文章也有很多,相信大家对于原理已经烂俗于心了。但最近在看源码时,发现其中一些实现细节其实不太好理解,所以决定以问答的形式在这里记录一下,写的时候尽量把原因说明白。 容量并不是指 HashMap 所能存储的键值对数量,而是其内部的 ta…
下一页
个人成就
文章被点赞
486
文章被阅读
45,486
掘力值
1,547
关注了
39
关注者
99
收藏集
6
关注标签
14
加入于
2015-07-17