![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 87
建洋你是最菜的
不怕你不努力,就怕比你聪明的人比你还努力!
展开
-
Android中的IPC方式(中)
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 上一篇我们了解了Android中多进程通讯方式中的Binder、文件共享、Messenger方法,还没有看过的同学可以点击《Android中的IPC方式(上)》去学习一下。 这篇我们会讲到另外三个IPC方式 AIDL、ContentProvider和Socket,那么让我们开始吧。 AIDL AIDL区别于Messenger的地方在于,Messenger是以串行的方式去处理客户端的请求,不适用于大数据并发场景,其次,当客户端想要跨进程调用服务端原创 2021-04-19 14:47:11 · 124 阅读 · 0 评论 -
Android中的IPC方式(上)
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 简介 IPC方式其实有很多,比如在Intent中附加extras来传递信息,或者通过共享文件的方式来共享数据,还可以采用Binder方式来跨进程通信,另外ContentProvider天生就是支持跨进程访问的,还有网络通信,用Socket实现IPC,但它们在使用和侧重点上有很大区别,下面来详细逐个介绍一下。 Bundle 由于Bundle实现了Parcelable接口,所以可以很方便的在不同进程间传输。在四大组件中,Activity、Servi原创 2021-04-06 10:28:01 · 88 阅读 · 0 评论 -
如何自己实现一个Binder类
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 上一章我们讲了,如何从AIDL的角度去分析Binder的运行机制,还没有看过的同学可以点击这里去学习一下。在分析过程中我们发现,我们好像不需要提供AIDL文件,也可以实现Binder,系统提供的AIDL文件,其实是为了方便我们生成代码,既然它的格式是固定的,那我们可以尝试抛开它,自己写一个Binder出来。 我们发现这个类主要由两部分组成:首先,它必须是一个Binder接口(继承了IInterface),其次它内部有个Stub类,这个类就是个B原创 2021-03-24 13:56:46 · 238 阅读 · 0 评论 -
浅谈Binder
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 Binder 直观来说:Binder是Android中的一个类,它实现了IBinder接口。 从IPC角度来说:Binder是Android中的一种跨进程通信方式。 Binder还可以理解为:一种虚拟的物理设备,他的设备驱动是/dev/binder,Linux中不存在这种通信方式。 从Framework角度来说:Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager等)和相应原创 2021-03-23 16:37:36 · 153 阅读 · 2 评论 -
Android序列化方式
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 Android中序列化与反序列化主要有两种方式:Serializable接口和Parcelable接口。我们先来介绍Serializable的使用方法。 Serializable Serializable是Java提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作。使用Serializable实现序列只需要在类的声明中指定一个类似下面的标识即可自动实现默认的序列化过程: private static final long原创 2021-03-22 15:38:21 · 384 阅读 · 0 评论 -
IntentFilter的匹配规则
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 IntentFilter介绍 Activity启动分为两种,显示启动和隐式启动。显示启动需要明确指定被启动对象的组件信息:包名、类名等,而隐式启动则不需要。 原则上,显示与隐式是不会同时存在的,如果存在,那么以显示调用为主。 隐式调用需要匹配IntentFilter中所有设置的过滤信息如:action、category、data。如果不匹配,将无法启动目标Activity。 IntentFilter添加方式需要在AndroidManifest.原创 2021-03-22 10:46:54 · 140 阅读 · 0 评论 -
Activity常用的Flags标记位
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 常用的Flags 标记位 Activity的Flags有很多,接下来介绍几种常用的标记位。 标记位有几种用途,比如设定Activity的启动模式,像FLAG_ ACTIVITY_NEW_TASK和FLAG_ACTIVITY_SINGLE_TOP等。有的标记位可以影响Activity的运行状态,比如FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS等。 其实大部分情况下,我们都不需原创 2021-03-18 13:51:53 · 1499 阅读 · 0 评论 -
Activity的启动模式详解
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 Activity的LaunchMode 在默认情况下,当我们多次启动同一个Activity的时候,系统会多次创建实例并把它们一一放入任务栈中,当我们点击back键时会将Activity一一回退。任务栈是“后进先出”的栈结构,每按一次back键,就会有一个Activity出栈,直到栈空为止,当栈中无任何Activity时,系统就会回收这个栈。 目前Activity有4种启动模式: standard 标准模式 这是系统的默认模式,每次启动一个Ac原创 2021-03-18 13:09:43 · 140 阅读 · 0 评论 -
Activity的生命周期详解
以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 生命周期 OnCreate 表示Activity正在被创建。可在这个方法中做一些初始化的工作,如初始化数据initData(),加载布局界面setContentView()等等。 onRestart 表示Activity正在重新启动。一般但界面从不可见变为可见时被调用。如切换到Home界面或打开新Activity后,该界面将会调用onPause()和onStop()方法,又重新回到该界面时,该方法被调用。 onStart 表示Ac原创 2021-03-17 17:23:47 · 189 阅读 · 0 评论