Android 进阶
文章平均质量分 94
星火燎原2016
Android 开发工程师
展开
-
Android 事件分发机制总结
简述我们知道,Android 的事件分发基本遵循 Activity —-> ViewGroup —-> View 依次从顶层至底层的顺序进行传递的,这其中主要涉及以下三个方法:public boolean dispatchTouchEvent() : 事件分发方法,如果一个事件传递给了 View ,那么 dispatchTouchEvent()方法一定被调用。 返回...原创 2018-03-18 15:23:23 · 324 阅读 · 0 评论 -
Android HandlerThread 使用指南
在 Android 开发中,需要把耗时操作放到子线程中,避免阻塞主线程,从而导致程序 ANR。实现这类异步任务的方式有:Thread + HandlerAsyncTaskHandlerThreadIntentService本文来讲解分析下 HandlerThread,在真正开始前,我们先了解下 Handler 的使用方式。Handler 机制子线程中创建 Hand...原创 2018-04-14 22:35:12 · 1302 阅读 · 0 评论 -
Android IntentService 异步 Service
当我们执行文件上传,文件下载等耗时任务时,为了保证 App 退回到后台而降低被系统干掉的概率,使得该任务仍然能继续执行,我们通常会将这些任务放在后台 Service 中去处理,但是,Service 是运行在主线程中(不能执行耗时操作),因此必须在 Service 中创建子线程来执行。Android SDK 提供了 IntentService 来简化了这个过程。IntentService 特点...原创 2018-04-15 21:14:36 · 739 阅读 · 0 评论 -
RecyclerView ItemDecoration 实现分组吸顶效果
RecyclerView ItemDecoration 实现吸顶分割线本文实现的吸顶效果为:![tick-divide](C:\Users\Administrator\Desktop\blog\RecyclerView ItemDecoration\stick-divider.gif)简介我们都知道 ListView 添加分割线可以通过在布局文件中添加 android:divi...原创 2018-05-06 20:17:40 · 4355 阅读 · 3 评论 -
Android 组件化必知必会
什么是组件化?组件化: 就是将一个 Application 的开发分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以只用专注自己开发的模块,进行单独调试,但在最终发布 apk 时,又可以将这些组件合并成一个统一的 app。组件化环境搭建实现组件化基本思路: 根据配置文件中的 isAloneRun 变量来决定该组件是作为 module 工程集成到 App 工程中,还是单...原创 2018-12-15 22:36:47 · 363 阅读 · 0 评论 -
Android NDK 开发 - Cmake
JNI 开发步骤创建 Java 类,编写 native 方法public class HelloJNI { public native String getContentFromJni();}Terminal 中切换到项目的 src/main/java 目录下,使用 javah 命令生成 jni 头文件E:\AndroidProject\ProgressAndroi...原创 2019-02-23 21:41:23 · 235 阅读 · 0 评论 -
Android AOP 面向切面编程 - AspectJ
AOP 概念AOP 是 Aspect Oriented Programming 的缩写,意为 面向切面编程,通过预编译和运行期动态代理实现程序功能的统一维护的一种技术。利用 AOP 可以实现对代码的业务逻辑进行隔离,降低各功能间的耦合度。使用场景: 需求是在类的每个方法中代码执行之前添加一句日志打印,在没有使用 AOP 的情况下,就需要在每个方法中手动添加日志打印,使用了 AOP ,就可以将打...原创 2019-03-03 18:43:41 · 1523 阅读 · 0 评论 -
Android 架构组件 - LiveData
介绍LiveData 是一款基于观察者模式的可感知生命周期的核心组件。LiveData 为界面代码 (Observer)的监视对象(Observable),当 LiveData 所持有的数据改变时,它会通知相应的界面代码进行更新。同时,LiveData 持有界面代码 Lifecycle 的引用,这意味着它会在界面代码(LifecycleOwner)的生命周期处于 started 或 resu...原创 2019-04-20 21:38:02 · 2894 阅读 · 0 评论