![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习整理
文章平均质量分 94
minminaya
简书博客文章迁移中https://www.jianshu.com/u/43a04ef9d4c6
展开
-
如何系统学习 Android 插件 ASM
可能大家刚开始学习 Transform 的时候会比较迷茫,看到漫天的博客上来就是一个 Gradle 插件,各种编译时黑科技修改源码。如果目的只是模仿大佬们的教程,稍微改改 Transform 实现可能还好,但是可能有些定制性的功能,可能就会抠破头了。我之前也有这种情况,后面我思考了怎么解决这个问题。其实我认为,上来就搞 Transform 相对于整个插件开发的路子来说,太跨越性了,根本原因还是地基没打好就建摩天大楼了。本篇我会分享下 Transform 相关的从入门到入门历程。一步一步踏踏实实的。大致路线原创 2022-04-13 13:09:29 · 2104 阅读 · 0 评论 -
2018年Android的保活方案效果统计
一、常见保活方案1、监听广播:监听全局的静态广播,比如时间更新的广播、开机广播、解锁屏、网络状态、解锁加锁亮屏暗屏(3.1版本),高版本需要应用开机后运行一次才能监听这些系统广播,目前此方案失效。可以更换思路,做APP启动后的保活(监听广播启动保活的前台服务)2、定时器、JobScheduler:假如应用被系统杀死,那么定时器则失效,此方案失效。JobService在5.0,5.1,6.0作用很大,7.0时候有一定影响(可以在电源管理中给APP授权)3、双进程(NDK方式Fork子进程)、原创 2022-03-23 09:53:35 · 361 阅读 · 0 评论 -
Kotlin “谈” “弹” “潭”
Kotlin “谈” “弹” “潭”本篇针对使用Java的Android开发者,快速入手Kotlin,期间可能啰啰嗦嗦稀里糊涂缓缓乎乎穿插一些我中过的坑。这里不讲Kotlin异步并发(协程)、不讲Kotlin反射,如果你是来看它们的。那我现在也木有。目录一、为什么要学习kotlin二、基本使用1、Java写法和Kotlin的写法对比2、基本类型Kotlin中数字类型运算符号布尔值数组3、基本表达式表达式流程控制when使你力腕狂澜使用表达式比语句更加安全for循环的奥原创 2022-03-23 09:51:44 · 221 阅读 · 0 评论 -
轻松玩转 Android 复杂列表埋点曝光(也许是一行噢)
一个好的产品离不开数据分析,在手机 APP 中,数据分析极致化需要细致到某个时刻列表曝光的了哪几个 Item。2022 年了,基本上目前 Android 上可以滑动的复杂列表都是 RecyclerView 或者其扩展,这里分享一个封装的思路。一、基本思路什么是列表曝光简单的理解就是用户在肉眼可感知范围内真正看到了数据就算曝光,包括数据刷新了如果非要细化细节:1、列表数据变化时,比如上滑下滑2、页面从隐藏到显示,比如切换页面、前后台切换一些方案的对比各种方案核心都差不多,最关键原创 2022-03-23 09:49:58 · 1318 阅读 · 0 评论 -
线程池与Android的日日夜夜
线程池与Android的日日夜夜假如你Java中研究到了线程池的话,一般来说,你已经对线程的原理颇有研究了,或者说,你意识到了线程的某些瓶颈或者缺点。你说,要有光,所以,天降线程池。正儿八经的说,如果你为每一个请求创建一个新的线程,这在性能上影响是巨大的,因为线程对象的创建销毁需要Java虚拟机频繁的GC,假如说,一个请求所用的时间比创建销毁线程对象时间还短的话,那么时间将会大程度浪费...原创 2018-04-16 18:07:39 · 35618 阅读 · 0 评论 -
Android依赖注入框架Dagger2学习笔记
简书博客迁移https://www.jianshu.com/u/43a04ef9d4c6依赖注入 面向对象编程的一种设计模式,目的是为了降低程序中类与类之间的依赖引起的耦合。在Java中,依赖注入有通过接口注入通过set方法注入通过构造方法注入通过注解注入Dagger2官网为什么要用Dagger让你不需要初始化对象。也就是说任何...原创 2018-04-10 18:29:31 · 409 阅读 · 0 评论 -
用属性动画实现一个确认按钮
简书博客迁移https://www.jianshu.com/u/43a04ef9d4c6不多BB,先上图 此按钮由一个圆一个勾组成,准确的说应该是一个圆2条线组成还有动画,这里用的是属性动画,分为4部分,圆圈,线(2条),还有整体的放大缩小开工这里不解释初始化画笔,各种数据过程,关键点在onDraw方法里protected void onDraw(Canva...原创 2018-04-10 18:27:03 · 171 阅读 · 0 评论 -
Service的两种启动方式
简书博客迁移https://www.jianshu.com/u/43a04ef9d4c6目录:Service定义官方对服务的解释 通俗的解释服务能做什么服务的生命周期通常服务有两种形式创建一个最简单的服务服务的回调函数详解一 启动型startService 二 绑定Service创建一个前台服务IntentService(异步的,会自动停...原创 2018-04-10 18:26:04 · 24558 阅读 · 0 评论 -
CardView
简书博客文章迁移https://www.jianshu.com/u/43a04ef9d4c6目录:CardView简介CardView基本属性(xml文件中)某些属性使用效果CardView使用方法高级效果 波纹点击(像点击Button那样)注意 对低版本的兼容处理CardView简介CardView是API21(Android5.0)发布的卡片式控件。简单...原创 2018-04-09 11:12:46 · 346 阅读 · 0 评论 -
RecyclerView从入门到深入
简书博客文章迁移中https://www.jianshu.com/u/43a04ef9d4c6目录:一 、RecyclerView简介二 、RecyclerView为什么会出现三 、基本使用方法四 、高级用法ScrollbarsItem间分割线Item显示方式自定义LayoutManagerRecyclerView的点击事件高级效果 波纹点击添加 ...原创 2018-04-09 11:11:04 · 288 阅读 · 0 评论