Android进阶
文章平均质量分 84
彼天
记录下成长,日后回首有追忆。
展开
-
Android Overlay机制总结
Android Overlay机制 动态加载资源原创 2022-07-22 14:38:46 · 2778 阅读 · 4 评论 -
Android HeadlerThread
HandlerThread 类功能介绍示例源码浅析总结HandlerThread 类功能介绍/** * Handy class for starting a new thread that has a looper. The looper can then be * used to create handler classes. Note that start() must s...原创 2019-06-28 15:24:34 · 482 阅读 · 0 评论 -
Android IntentService
类介绍使用示例源码浅析总结类介绍public abstract class IntentService extends Service { ... protected abstract void onHandleIntent(@Nullable Intent intent); ...}首先IntentService是一个继承自Service的抽象类,一个抽象方法onHan...原创 2019-06-28 17:30:49 · 134 阅读 · 0 评论 -
Android Bitmap——基本使用及压缩、颜色质量、bitmap内存空间复用
实例化对象Bitmap对象大小和像素大小BitmapFactory.Options如何实例化对象Bitmap文档Bitmap提供了一系列的createXX方法,可以通过:Bitmap、DisplayMetrics、Picture、RGB的颜色数组等得到一个Bitmap对象。BitmapFactory提供了一系列的decodeXX方法。流行、文件、资源等得到一个Bitmap对象。...原创 2019-07-01 16:07:13 · 1068 阅读 · 0 评论 -
Android BitmapRegionDecoder——大图、长图展示
-. 类介绍-. 示例项目地址:项目地址包含之前的内容类介绍作用public final class BitmapRegionDecoder { private BitmapRegionDecoder(long decoder) { ... }}BitmapRegionDecoder 类被final进行修饰,因此无法被继承。构造方法被私有化,无法直接n...原创 2019-07-04 16:54:46 · 1656 阅读 · 0 评论 -
android View——事件分发
介绍示例源码浅析对于Android中的事件,最常见到的就是点击事件。那么点击在屏幕上,最终怎么响应在设置的控件上的呢?三个重要的方法了解这些需要先知道三个方法dispatchTouchEvent此方法View和ViewGroup中都有。public boolean dispatchTouchEvent (MotionEvent event)将触摸屏运动事件传递给目标视图...原创 2019-07-09 10:31:28 · 177 阅读 · 0 评论 -
Android 自定义View——自定义一个文本选择框
这种效果也算是比较常用的选择方式了。View的绘制流程自定义View代码示例View的绘制流程//DecorView将会调用07-10 11:33:18.657 23998-23998/com.example.study E/CustomFrameLayout: requestLayout07-10 11:33:18.657 23998-23998/com.example.stu...原创 2019-07-10 12:25:53 · 568 阅读 · 0 评论 -
Android JetPack——Lifecycle
public abstract class Lifecycle {}根据文档的注释,这个类可以帮助我们创建一个拥有Android生命周期的对象。比如Fragment和Activity。需要做到三点:生命周期拥有者,如Fragment、Activity、dialog、Service等,或者自己创建一个具有一定生命周期的class。生命周期的观察者,如请求数据的接口、动画等,或者自己创建一...原创 2019-07-12 10:53:54 · 294 阅读 · 0 评论 -
Android JetPack——LiveData
项目地址:项目地址包含之前的内容public abstract class LiveData<T> {}虽然是一个抽象类,但是它并没有抽象方法。根据文档介绍:LiveData是一个给定生命周期内的数据持有类。就需要一个观察者和生命周期拥有者进行关联,这样当数据变化的时候就能通知观察者了。生命周期拥有者,LifecycleOwner一个生命周期观察者,LifecycleOb...原创 2019-07-12 11:57:19 · 135 阅读 · 0 评论 -
Android JetPack——DataBinding
DataBinding的作用是直接让实体类的和布局中控件绑定,不需要代码中设置,只需给布局设置对象即可。DataBinding支持android { compileSdkVersion 28 defaultConfig { applicationId "com.example.study" minSdkVersion 22 t...原创 2019-07-12 13:57:24 · 227 阅读 · 0 评论 -
Android AsyncTask
AsyncTask 支持正确、方便使用UI线程。不必去操作线程或者Handler,就可以把线程任务的结果返回到UI线程中来。抽象类AsyncTaskpublic abstract class AsyncTask<Params, Progress, Result> {... @WorkerThread protected abstract Result doInBack...原创 2019-06-27 17:39:01 · 116 阅读 · 0 评论 -
Android ContentProvider
ContentProvider,Android四大组件之一。可以实现进程间数据共享。有3个辅助类ContentUris类,用来在Uri后追加id、获取id。UriMatcher类 ,用来注册ContentProvider的Uri,根据提供的Uri匹配ContentProvider中对应的表。ContentObserver,内容观察者,指定Uri的ContentProvider的内容发...原创 2019-06-25 14:50:47 · 103 阅读 · 0 评论 -
android 开发 EventBus3.0不同之处详细介绍
1、下载EventBus的类库 源码:https://github.com/greenrobot/EventBus 可以直接添加依赖:compile 'org.greenrobot:eventbus:3.0.0'如果你看了之前的文章,应该已经会简单使用EventBus了,上一节,我们用了onEventMainThread这个方法。其实在3.0之前还有其它的一些方法onEvent:如果使用on原创 2017-05-27 12:01:54 · 595 阅读 · 0 评论 -
Android CoordinatorLayout自定义Behavior笔记
参考放在首位Behavior参考博客Behavior参考博客Behavior抽象类 public abstract static class Behavior&amp;amp;lt;V extends View&amp;amp;gt; { public Behavior() { } public Behavior(Context context, AttributeSet...原创 2018-10-09 09:09:18 · 1364 阅读 · 0 评论 -
Android技能树—— 性能优化(一)
常见的性能问题内存泄露Android 内存分配的方式OOM(内存溢出)大Bitmap、列表Bitmap等。耗电问题定位、动画。内存抖动频繁GC造成性能问题常见的原因在UI线程中进行了耗时操作,导致UI线程卡顿。UI布局过于复杂,无法在16ms内完成渲染。View过渡绘制,不必要的区域,多次渲染,导致GPU或者CPU负载过重。频繁的GC导致UI线程卡顿。设置子线程的...翻译 2019-06-13 14:31:16 · 202 阅读 · 0 评论 -
Acitivity启动模式——launchMode
standard标准模式也是默认的启动模式,每次start,都会走onCreate方法重建。singleTop栈顶模式,start的时候,如果activity不在栈顶,会调用onCreate方法重建,如果在栈顶存在就会走onNewIntent方法,不会重建。singleTask单任务模式,start的时候会走onNewIntent方法,不会重建。而且会把在它之上的activity退出栈...原创 2019-06-18 16:47:46 · 128 阅读 · 0 评论 -
Android Service--启动方式
首先作为四大组件,使用的时候别忘了在清单文件中注册。生命周期startServiceattachBaseContext–onCreate–onStartCommandstopServiceonDestroybindServiceattachBaseContext–onCreate–onBind并且ServiceConnection回调onServiceConnected。u...原创 2019-06-20 14:08:52 · 395 阅读 · 0 评论 -
Android Service--通信方式(IBinder回调、Messenger)
Activity与Service的通信,分两大类,同一个进程中、不同的进程中。同一个进程中可以通过直接实现IBinder接口,或者继承Binder类。Binder类是系统提供的一个IBinder接口的实现类。Service中: public class MyBind extends Binder { public MyService getService() { ...原创 2019-06-21 09:34:24 · 2747 阅读 · 0 评论 -
Android Service--AIDL
上个文章介绍了IBinder和Messenger的使用。而且也说了,Messenger底层也是使用了AIDL。下面笔记一下AIDL。AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。相信这个解释,可以在很多文章中看到。所以也就知道为啥不在家.java文件,而是.aidl格式的文件。其中语法呢,大家可以去了解一下...原创 2019-06-24 09:52:27 · 207 阅读 · 0 评论 -
Android 开发EventBus简单使用
从最简单的开始EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。1、下载EventBus的类库 源码:https://github.com/greenrobot/EventBus 可以直接添加依赖原创 2017-05-26 23:52:12 · 563 阅读 · 0 评论