自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Android中的IPC方式(中)

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 上一篇我们了解了Android中多进程通讯方式中的Binder、文件共享、Messenger方法,还没有看过的同学可以点击《Android中的IPC方式(上)》去学习一下。 这篇我们会讲到另外三个IPC方式 AIDL、ContentProvider和Socket,那么让我们开始吧。 AIDL AIDL区别于Messenger的地方在于,Messenger是以串行的方式去处理客户端的请求,不适用于大数据并发场景,其次,当客户端想要跨进程调用服务端

2021-04-19 14:47:11 124

原创 Android中的IPC方式(上)

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 简介 IPC方式其实有很多,比如在Intent中附加extras来传递信息,或者通过共享文件的方式来共享数据,还可以采用Binder方式来跨进程通信,另外ContentProvider天生就是支持跨进程访问的,还有网络通信,用Socket实现IPC,但它们在使用和侧重点上有很大区别,下面来详细逐个介绍一下。 Bundle 由于Bundle实现了Parcelable接口,所以可以很方便的在不同进程间传输。在四大组件中,Activity、Servi

2021-04-06 10:28:01 88

原创 如何自己实现一个Binder类

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 上一章我们讲了,如何从AIDL的角度去分析Binder的运行机制,还没有看过的同学可以点击这里去学习一下。在分析过程中我们发现,我们好像不需要提供AIDL文件,也可以实现Binder,系统提供的AIDL文件,其实是为了方便我们生成代码,既然它的格式是固定的,那我们可以尝试抛开它,自己写一个Binder出来。 我们发现这个类主要由两部分组成:首先,它必须是一个Binder接口(继承了IInterface),其次它内部有个Stub类,这个类就是个B

2021-03-24 13:56:46 238

原创 浅谈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

原创 IntentFilter的匹配规则

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 IntentFilter介绍 Activity启动分为两种,显示启动和隐式启动。显示启动需要明确指定被启动对象的组件信息:包名、类名等,而隐式启动则不需要。 原则上,显示与隐式是不会同时存在的,如果存在,那么以显示调用为主。 隐式调用需要匹配IntentFilter中所有设置的过滤信息如:action、category、data。如果不匹配,将无法启动目标Activity。 IntentFilter添加方式需要在AndroidManifest.

2021-03-22 10:46:54 140

原创 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

原创 Activity的启动模式详解

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 Activity的LaunchMode 在默认情况下,当我们多次启动同一个Activity的时候,系统会多次创建实例并把它们一一放入任务栈中,当我们点击back键时会将Activity一一回退。任务栈是“后进先出”的栈结构,每按一次back键,就会有一个Activity出栈,直到栈空为止,当栈中无任何Activity时,系统就会回收这个栈。 目前Activity有4种启动模式: standard 标准模式 这是系统的默认模式,每次启动一个Ac

2021-03-18 13:09:43 140

原创 Activity的生命周期详解

以下内容摘抄自作者:任玉刚所著的《Android开发艺术探索》 生命周期 OnCreate 表示Activity正在被创建。可在这个方法中做一些初始化的工作,如初始化数据initData(),加载布局界面setContentView()等等。 onRestart 表示Activity正在重新启动。一般但界面从不可见变为可见时被调用。如切换到Home界面或打开新Activity后,该界面将会调用onPause()和onStop()方法,又重新回到该界面时,该方法被调用。 onStart 表示Ac

2021-03-17 17:23:47 189

原创 三年开发经验的Android工程师竟然是个菜鸡!

自述 大家好,我是建洋,一个所谓了3年开发经验的Android工程师。 可能有不少同学认为3年经验,一定很厉害吧!比如像郭大侠,鸿阳大神这样的传奇人物,早已有自己的博客粉丝、有自己的开源项目。其实不然,我来和大家说说,我这个所谓的3年的码农(可能都算不上)到底是个啥水平。 我毕业于一所普通的高中,高考失利,回家准备放牛(实际上牛都没有-_-||),在机缘巧合,街坊邻居的诱导下,我到了北京,这个哪儿哪儿都哇塞的大都市。去干什么呢,去上学!去上了众所周知的培训机构BDQN(这个应该多少都听说过吧 ) 在这里其实

2021-03-17 10:57:27 223 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除