首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android
订阅
Google3032
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
RecyclerView缓存机制 | scrap view 的生命周期
RecyclerView 内存性能优越,这得益于它独特的缓存机制。第一篇中遗留的一个问题还没有解决:复用表项时优先级最高的scrap view是用来干嘛的?这篇文章试着通过阅读源码解答这个问题。
Android ANR日志分析指南
ANR(Application Not Responding) 应用程序无响应。如果你应用程序在UI线程被阻塞太长时间,就会出现ANR,通常出现ANR,系统会弹出一个提示提示框,让用户知道,该程序正在被阻塞,是否继续等待还是关闭。 input事件在5S内没有处理完成发生了ANR…
我理解的Binder通信机制(二)——数据发送与数据获取
上一篇《我理解的Binder通信机制(一)——Binder通信通道的建立》【2】(标注一下,本文后面的篇幅中会经常提到上一篇的内容,这里标注为【2】)中介绍了Binder通道的建立过程。通道建立以后,就可以在其中进行数据传输了,所以,这一篇接着说基于这个通道的数据发送与数据获取…
一起玩转Android项目中的字节码
作为Android开发,日常写Java代码之余,是否想过,玩玩class文件?直接对class文件的字节码下手,我们可以做很多好玩的事情,比如: 对全局所有class插桩,做UI,内存,网络等等方面的性能监控 发现某个第三方依赖,用起来不爽,但是不想拿它的源码修改再重新编译,而…
Android8.0的Activity的启动流程(2)
上一篇文章讲了应用进程请求AMS启动Activity过程和Activity在AMS中的启动过程,然后Activity启动的代码逻辑就从AMS所在进程,又重新回到了应用进程所在的ApplicationThread中。我们还留下了一个问题,Activity的生命周期方法是如何被回调…
【Android 修炼手册】Gradle 篇 -- Android Gradle Plugin 主要流程分析
通过这种方式,可以直接依赖 plugin 的源码,读起来比较方便。 2. 官方对照源码地址 android gradle plugin 源码地址 大家可以直接 clone EasyGradle 项目,把 android-gradle-plugin-source/build.gr…
Android增量更新
增量更新:在版本较近的apk升级的时候,根据两个apk之间的差异(生成差异包),合成新的安装包,在应用内部进行升级的一种操作(需要重新安装apk文件)。 热更新:在发布的版本有BUG的时候,动态加载dex文件,在不影响apk的情况下进行修复BUG(不需要重新安装apk文件)。 …
多种方式实现 Android 定时任务,哪一款是你的 FEEL?
项目中总是会因为各种需求添加各种定时任务,所以就打算小结一下 Android 中如何实现定时任务,下面的解决方案的案例大部分都已在实际项目中实践,特此列出供需要的朋友参考
面试官:今日头条启动很快,你觉得可能是做了哪些优化?
网上关于启动优化的文章多不胜数,内容千篇一律,大都是列举一些耗时操作,采用异步加载、懒加载等。 而在面试过程中,关于启动优化的问题,如果只是很表面地回答耗时操作应该放在子线程,显然太过于普通,无法跟竞争者拉开差距。如何让面试官知道你的“内功深厚”,那肯定是要往原理层面去回答。 …
Window, WindowManager和WindowManagerService之间的关系
上面3个名词在开发中经常听到,在Android开发中,Window是所有视图的载体,如Activity,Dialog和Toast的视图,我们想要对Window进行添加和删除就要通过WindowManager来操作,而WindowManager就是通过Binder与WindowM…