首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
191207
订阅
2048
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
RecyclerView使用封装与优化
最近优化了项目里的列表展示,顺便对RecyclerView的使用做了重新的封装,目的是当列表的需求比较复杂的时候,依然能够保持逻辑的清晰和解耦,同时通过封装来使复杂列表的性能得到一定的保证。 每一个对项目的重构或者重新封装都是出于对现状的不满,那么我们就从这个封装项目解决了哪些…
Android组件化跨进程通信框架Andromeda解析
随着项目结构越来越庞大,模块与模块间的边界逐渐变得不清晰,代码维护越来越困难,甚至编译速度都成为影响开发效率的瓶颈。 组件化拆分是比较常见的解决方案,一方面解决模块间的耦合关系、将通用模块下沉,另一方面做到各模块代码和资源文件的隔离,这样便可以放心进行模块按需编译、单独测试等等…
Android安全知识笔记合集
apktool 这个工具用于最大幅度地还原APK文件中的9-patch图片、布局、字符串等等一系列的资源。 没有反编译资源之前,AndroidManifest.xml和activity_main.xml这样的资源文件都是非明文的,无法阅读。 smali文件夹的目录结构和我们源码…
Android自动化测试
沿着金字塔逐级向上,从小型测试到大型测试,各类测试的保真度逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,您编写的单元测试应多于集成测试,集成测试应多于端到端测试。虽然各类测试的比例可能会因应用的用例不同而异,但我们通常建议各类测试所占比例如下:小型测试占70…
使用javassist和ASM修改class,并实现方法耗时检测插件
之前在项目开发中为了实现消息推送的各个平台版本sdk(小米,华为,OPPO,vivo,极光)。在写这个多平台推送的sdk过程中,发现小米手机启动时,小米推送和极光推送的服务都同时启动了。导致后台发起的推送收到了两次(后天是全平台推送的)。本来只要手机端只要启动一个推送服务,结果…
带你走一波Android自定义Animator属性动画相关事项(一)
这里我们就不讲帧动画跟补间动画,这两个大家可以自己百度一下用法。(另外这篇文章中的动画都是在代码中实现的,如果要看xml的使用方法,可以看看Android 动画使用 scale、alpha、translate、rotate、set 这篇其他人写的这篇文章。 这么多api就不做逐…
羞!扒开字节码,我竟发现这个.....
作为一名安卓开发者,我们可以以多年单身的手速光速的撸一个java文件。但相信很多人对java的了解就像了解女神,只看到光鲜的外表。但往往有时候我们应该看看她卸了妆的样子,脱了....,咳咳。总之我们应该深入的了解,这样可以帮助我们做很多有意思的事情。 最近接触了asm这个框架,…
Zxing扫描二维码优化
1. 图片二维码区域清晰但是占用面积过小时无法识别,比如以下这张,钉钉无法识别,微信可以识别 2. 图片二维码存在过多噪点时无法识别,比如以下这张,网上的开源库无法识别,钉钉微信都可以识别 看到这里我把int iSkip = (3 * maxI) / (4 * MAX_MODU…
Gradle Transform + ASM 探索
使用 Gradle Transform + ASM 实现代码插桩的使用已经非常普遍。本文试图探索如何更加快速简洁的利用 Transform 实现代码插桩,并尝试实现 ...... 简单来说就是利用 AGP 提供的 Transform 接口,在应用打包的流程中,对 java/ko…
QMUI实战(二)—Activity 和 Fragment,我们该选择谁?
在一开始, 官方只提供了 Activity 来作为 UI 界面的载体,因此我们也别无选择,只能用它。而在 Android 3.0 后,Fragment 也面世了,它一开始是用于适配平板的,以邮件列表与详情的适配为例,手机端够小,因此开始展示列表,点击进入详情,而平板够大,则可以…