Android中的两种序列化:Parcelable和Serialable
Android中的两种序列化:Parcelable和SerialableAndroid开发中常常用到序列化,典型的应用就是Intent携带数据(不宜携带过多数据)。跨进程传输是将对象序列化,转换成可存储或可传输的状态,再通过网络等方式传输。Intent之所以能够跨进程传输因为它实现了Android特有的序列化接口Serialable。这也是开发中用到序列化的原因之一: ①永久性保存对象,保存对象的
分类
深入探讨 Android 系统的核心架构与高级开发,聚焦四大组件(Activity、Service、Broadcast Receiver、Content Provider)的原理、生命周期管理和交互机制。从基础的组件构建与通信,到 Android Framework 层(如 AMS、WMS、PMS)的源码剖析和自定义扩展,提供详尽代码示例、调试技巧和性能优化策略。涵盖 JNI、AIDL、Binde
共 356 篇文章
Android中的两种序列化:Parcelable和SerialableAndroid开发中常常用到序列化,典型的应用就是Intent携带数据(不宜携带过多数据)。跨进程传输是将对象序列化,转换成可存储或可传输的状态,再通过网络等方式传输。Intent之所以能够跨进程传输因为它实现了Android特有的序列化接口Serialable。这也是开发中用到序列化的原因之一: ①永久性保存对象,保存对象的

ViewModel视图与数据的桥梁学习Jetpack库第二步,ViewMode是必经之路。它是Google提供的类,专门用来存放数据。Android开发中通常会将业务逻辑和UI界面 拆分,不然的话会导致页面代码臃肿复杂。1、ViewModel听到ViewModel就想到MVVM,ViewModel就是介于View和Model之间的对象。将数据从View中脱离出来。1.1、ViewModel介绍Vi
Lifecycle生命周期感知组件安卓开发过程中业务和应用的生命周期息息相关,这会导致业务和生命周期的耦合。尽管通过MVP等架构设计项目代码稍微有一些好转,但是还是依赖生命周期的各种回调。Google提供的Lifecycle组件,是一种可以感知应用程序生命周期的组件,开发者专注自己的业务,降低代码的耦合。1、LifecycleObserver和LifecycleOwnerLifecycle使用之前
ActivityLifecycleCallbacks的原理分析在Activity生命周期监听ActivityLifecycleCallbacks中了解到ActivityLifecycleCallbacks用来监控Activity的生命周期,它的实现原理也不难,在框架中新增接口及相关的回调即可。现在来分析一下其中的原理。1、mActivityLifecycleCallbacks集合在Applicat

Activity生命周期监听ActivityLifecycleCallbacks一个应用有很多Activity,一些重复的代码,可以通过抽象出BaseActivity类抽取出来。也可以通过hock的方式启动应用增加额外判断。Activity的生命周期如何统一管理呢?曾经接触过UMeng的埋点SDK,不需要任何配置,即可监听应用的所有页面活动并上报埋点。他们是通过什么来实现的呢?答案就是:Activ
BitmapFactory详解Android提供了BitmapFactory类来创建Bitmap位图。关于Bitmap详见Bitmap位图介绍。1、BitmapFactoryBitmapFactory顾名思义,Bitmap工厂,专门用于创建Bitmap位图。该类功能比较单一,一眼就能看懂。主要有两点:创建Bitmap的静态方法,以及创建Bitmap的选项Options。参考 Reference >

Bitmap位图介绍Android中的Bitmap和Java中的Bitmap可不一样,它专门用来存储图像。给ImageView显示,或者用来存储Canvas画布绘制的图像。1、了解Bitmap关于Bitmap有一些知识点需要先了解。1.1、Bitmap用途Bitmap最常用的两种用途,前面已经说到:①设置给ImageView显示②用来保存Canvas画布上绘制的图案1.2、Bitmap.Confi

InsetDrawable:内嵌Drawable更多Drawable详见Android Drawable。1、InsetDrawableInsetDrawable将其它Drawable内嵌到自己,在四周预留空白。当视图需要的背景小于视图的实际边界时,使用此方法很有用。当然之前学到的LayerDrawable:叠加图层也可以实现该需求。2、语法参考Inset drawable。2.1、语法Inset

TransitionDrawable:淡入淡出Drawable更多Drawable详见Android Drawable。1、TransitionDrawableTransitionDrawable继承自LayerDrawable,算是对层级LayerDrawable的扩展(详见LayerDrawable:叠加图层),不过最多只支持两个子<item>。1.1、简介旨在在第一层和第二层之间淡入淡出。调

LevelListDrawable:按级别选择Drawable更多Drawable详见Android Drawable。1、简介LevelListDrawable管理多个备用Drawable的资源,每个Drawable都分配了一个最大数值。 使用setLevel(int )设置对象的级别值将为图像加载下一个大于或等于其max属性的值。 LevelListDrawable的一个很好的用法示例是电池电

LayerDrawable:叠加图层今天要介绍的Drawable只中的层叠Drawable:LayerDrawable,通过将一些图片层叠的方式组合起来,实现特殊的显示效果。比如EditText输入框的下划线背景:更多Drawable详见Android Drawable。1、LayerDrawableLayerDrawable是管理其他可绘制对象阵列的可绘制对象。列表中的每个可绘制对象均按照列表顺

Drawable中的形状:ShapeDrawable在安卓开发中非常常见,常用来作为View的背景。但是光会简单的用法还不够,需要对这个图像体系有一个整体系统的认知,详见《Android Drawable》。和Drawable有关的就是Shape图形,在自定义Drawable也接触过<shape />标签,见《ShapeDrawable:Android自定义背景》。1、ShapeShape定义通用

大有可为的着色器:Shader平时开发的时候或多或少都接触过相关的技术,但是却没有系统详细的学习一下。Android设计到的知识点很多,特点广泛而杂。有网络相关的,硬件相关的,图形图像相关的等等,每一点都得或多或少需要学习掌握一些。1、ShaderShader直译过来就叫“着色器”,该类是抽象的基础类,Shader共有五个子类:BitmapShader、LinearGradient、RadialG
Android数据库帮助类SQLiteOpenHelperSQLiteOpenHelper是Android提供的帮助程序,用于数据库创建和版本管理。1、SQLiteOpenHelperSQLiteOpenHelper是抽象类,在Android Q中SQLiteOpenHelper实现了AutoCloseable接口。1.1、SQLiteOpenHelper介绍该帮助类简化开发人员连接建议数据库的繁
Uri工具:UriMatcher和ContentUrisAndroid中的Uri用处很多,在ContentProvider中用于访问特定数据、用于启动系统特定界面等Activity。关于Uri另一篇笔记有详细的记录,详见Android Uri。Android系统很庞大,类库众多,提供了非常多的工具类,有两个Uri相关的工具类需要了解一下:UriMatcher和ContentUris。1、UriMa