《Android开发艺术探索》读书笔记-第二章 IPC机制(未啃透)

IPC机制与面试题精选《Android开发艺术探索》笔记 文章目录IPC简介IPC的概念进程与线程的区别多进程的情况 IPC简介 IPC的概念 Inter-Process Communication的缩写。含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。 进程与线程的区别 线程是CPU调度的最小单元,同时线程是一种有限的资源。 进程一般指一个执行单元,一个进程可以包含多个线程,所以他们之间是包含与被包含的关系。(比如Android中有... 阅读详情

Android开发艺术探索-读书笔记

第二章 IPC机制

2.2 Android中的多进程模式

2.2.1 开启多进程模式

1)开启多进程方式:在AndroidMenifest.xml文件中为四大组件指定android:process属性
2)“:”和完整进程名的区别:“:”的含义是指要在当前的进程名前附加上当前的包名,而完整进程名就是以完整的名字为命名,不会附加信息;以“:”开头的进程属于当前应用的私有进程,其他应用的组件不可以和它跑在同一个进程中,而进程名不以“:”开头的进程属于全局进程,其他应用通过ShareUID方式可以和它跑在同一个进程中以实现共享数据。

2.2.2 多进程模式的运行机制

1)每个进程会有一个单独的虚拟机,在内存分配上有不同的地址空间。
2)多进程会造成的问题:
(1)静态成员和单例模式完全失效:不同的进程有单独的虚拟机,单独的地址空间,对应的对象也不同,有副本。
(2)线程同步机制完全失效:内存不同,锁的对象也不同。
(3)SharePreferences的可靠性下降:SharePreferences底层是通过读/写XML实现的,但是同样会产生并发性问题。
(4)Application会多次创建:单独创建了虚拟机相当于启动了一次应用,所以就会启动Application。

2.3 IPC基础概念介绍

2.3.1 Serializable接口

1)java提供的序列化接口
2)对于serialVersionUID,用于在反序列化时和对象中的serialVersionUID比较,相同则可以序列化成功,不指定也可以,建议指定。

2.3.2 Parcelable接口

1)Android平台上的序列化方式,效率比Serializable高,推荐在Android平台上使用,因为Serializable需要大量的I/O流进行序列化和反序列化操作,但是Parcelable使用较麻烦。
2)序列化功能是通过writeToParcel方法实现的,反序列化是通过CREATOR实现的。这里需要写个Demo。

2.3.3 Binder

这一章需要以后再看一遍

2.4 Android中的IPC方式

2.4.1 使用Bundle

四大组件中的三大组件都支持在Intent中传递Bundle数据,由于Bundle实现了Parcelable接口所以它可以方便地在不同的进程间传输。

2.4.2 使用文件共享

共享文件可以实现进程间通信,两个进程通过读/写同一个文件来交换数据,由于Android基于Linux系统,使得其并发读/写文件可以没有限制地进行。所以要避免并发写这种情况的法身,可能会导致问题。所以文件共享适用于对于数据同步要求不高的进程间通信。

特例:Sharedpreferences是Android提供的轻量级存储方案,使用过键值对存储数据的,底层是采用XML来存储键值对。Sharedpreferences的存储目录在/data/data/package name/shared_prefs目录下。虽然SharedPreferences属于文件一种,但是由于系统对于它的读写有一定的缓存策略,即在内存中会有一份Sharedpreferences文件的缓存,所以不建议在进程间通信中使用Sharedpreferences。

2.4.3 使用Messenger

Messenger是一种轻量级的IPC方案,底层使用AIDL实现的。通过Messenger在不同进程间传递Message对象,在Message中放入我们需要传递的数据,从而完成数据在进程间的传递。
缺点:
1.只能用来传递数据,不适合用于调用服务端的方法。
2.只能以串行的方式处理客户端发来的消息,服务端不能处理大量的并发的请求。
这里需要写个Demo

2.4.4 使用AIDL

Android 开发艺术探索 - 读书笔记目录 仅作为读书笔记使用,建议阅读原书。 书中代码部分已和现版本不符,建议对比最新版本学习。 读了这本书,越发认识到和大佬们的差距。嗯,加油吧。 过去の自分が今仆の土台となる [第 1 章 - Activity 的生命周期和启动模式] 第 2 章 - IPC 机制 第 3 章 - View 的事件体系 [第 4 章 - View 的工作原理] 第 5 章 - 理解 R... 阅读详情

相关推荐

Android 中的IPC机制

Android IPC 介绍IPC是 Inter-Proscess Communication的缩写,含义为进程间的通讯或者跨进程通讯,是指两个进程之间进行数据交换的过程。按操作系统的中的描述,线程是CPU调度最小的单元,同时线程是一种有限的系统资源,而进程是指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线程,因此进程和线程是包含于被包含的关系。IPC的使用场景就必须

Kevin的专栏 1万+

《Android开发艺术探索》读书笔记--第2章 IPC机制

第2章 IPC机制 2.1 Android IPC 简介 IPC 是 Inter-Process Communication 的缩写,进程间通信或跨进程通信,两个进程之间进行数据交换过程。 进程:系统进行资源分配和调度的基本单位。 线程:CPU 调度的最小单元。 Binder:Android 特色的进程通信方式。 应用场景 1.应用某些业务场景需要自身采用多进程模式,例如有些模块需要运行在单独进...

soleil雪寂 2981

川崎机器人 AS语言基础运动指令表

    功能简介 动作方式 参考坐标系 位置特性 X,Y,Z 角度特性 O,A,T 指令格式(距离单位毫米,时间单位秒,角度单位度 示例1 示例2 运 动 指 令 JMOVE 以关节移动到目标点 关节移动方式 基础坐标系 不受控 伪随机动作 JMOVE 目标点 JMOVE #yd JMOVE put1 LMOVE 以直线移动到目标点 直线移动方式

喜欢自学并分享经验的技术宅 9352

《Android开发艺术探索》第2章- IPC 机制读书笔记

目录1 Android IPC 简介 1 Android IPC 简介 IPC 是 Inter-Process Communication 的缩写,含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。IPC 并不是 Android 所独有的,任何一个操作系统都需要有相应的 IPC 机制。 在 Android 中,最有特色的进程间通信方式就是 Binder 了。 ...

willwaywang6 2029

基于 MATLAB 的综合能源系统建模案例 

电平衡约束:P_{gt}(t)+P_{grid}(t)-P_{eb}(t)-P_{load}(t)=0,其中 P_{grid}(t) 为与外部电网的交互功率(正表示购电,负表示售电)。- 电锅炉的热输出功率 Q_{eb} 与输入电功率 P_{eb} 的关系为:Q_{eb}=\eta_{eb}\times P_{eb},其中 \eta_{eb} 为电锅炉的热效率。- 燃气轮机的余热回收功率 Q_{gt} 与发电功率也存在一定关系,例如:Q_{gt}=c\times P_{gt},c 为余热回收比例系数。

qq_57128262的博客 1395

使用jsch和commons-pool2为sftp创建连接池

使用jsch和common-pool2为sftp创建连接池

文若书生的专栏 3282

《Android开发艺术探索》完结篇

笔记链接: 《Android开发艺术探索》之Activity的生命周期和启动模式(一) 《Android开发艺术探索》之IPC机制上(二) 《Android开发艺术探索》之IPC机制下(三) 《Android开发艺术探索》之View的事件体系(四) 《Android开发艺术探索》之View的工作原理(五) 《Android开发艺术探索》之理解RemoteViews、BroadCastR...

云瀚的自习室 3373

Kali Linux下Havoc框架编译避坑指南:从环境配置到成功运行的全流程

本文提供了在Kali Linux系统上成功编译和运行Havoc开源框架的详细指南。文章重点解析了从Go语言环境配置、系统依赖库安装到交叉编译环境搭建的全流程,并针对编译过程中常见的Qt、Boost及mingw-w64等依赖问题给出了具体的解决方案,帮助安全研究人员绕过常见陷阱,顺利完成环境部署。

weixin_29230865的博客 96

《Android开发艺术探索》之IPC机制上(二)

第二章:IPC机制 IPC是进程间通信或者跨进程通信。本章涉及(1)Android中的多进程概念;(2)IPC基础概念介绍(3)Bundle、文件共享、AIDL、Messenger、ContentProvider和Sock...

云瀚的自习室 1141

RK3568平台(网络篇)WIFI模块RTL8821CU调试

RTL8821CU是瑞昱半导体推出的usb接口的wifi,下面的教程将介绍如何将RTL8821CU移植到rk3588的平台上。移植usb wifi需要修改的文件Android hal层需要修改的文件//kernel需要修改的文件kernel/arch/arm64/boot/dts/rockchip/rk3399-tve1030g.dtsi //除去板上的sdio的wifi。

weixin_49303682的博客 3905

手把手教你学simulink实例--基于Simulink的船舶动力装置性能评估与仿真

船舶动力装置是船舶运行的核心系统,其性能直接影响船舶的安全性、经济性和环保性。基于MATLAB/Simulink平台进行船舶动力装置性能评估与仿真是研究和优化船舶动力系统的重要手段。通过建模与仿真,可以分析动力装置在不同工况下的性能表现,并验证控制策略的有效性。本项目旨在构建一个完整的船舶动力装置性能评估与仿真模型,包括发动机建模、传动系统建模、负载分析以及性能评估模块,并通过仿真分析其动态响应和性能指标。

MHD0815的博客 972

《Android 开发艺术探索》笔记2--IPC机制

《Android 开发艺术探索》笔记2--IPC机制思维导图Android IPC简介Android中的多进程的模式IPC基础概念Serializable接口Parcelable接口Android的几种跨进程的方式使用Bundle使用文件共享使用Messenger使用AIDL各种IPC的差异以及选择参看文章 思维导图 Android IPC简介 IPC是Inter-Process Communication缩写,含义为进程间通信. 按照操作系统中的描述,线程是cpu调度的最小单元,而进程一般指一个执行单元

行动者&&职业化 2473

大模型——Coze工作流实战:一键生成像素风格视频

本文介绍了如何利用Coze平台工作流生成像素风格心理学短视频的方法。通过创建工作流、设置变量节点、调用大模型生成文案、数据格式化处理、合成音频、生成字幕等步骤,最终实现从输入主题到生成完整视频的自动化流程。文章详细展示了每个节点的具体配置方法,包括提示词编写和数据处理脚本,为读者提供了完整的像素风格视频制作解决方案。

819

《Android开发艺术探索》

序 昨晚准备参考一下 《Android 开发艺术探索》这本书写一个博客 ,但是在家里找了好长时间也找不见 。所以就找了网上的文章 。这本书强烈推荐大家好好读几遍 。 《Android开发艺术探索》之Activity的生命周期和启动模式(一) 《Android开发艺术探索》之IPC机制上(二) 《Android开发艺术探索》之IPC机制下(三) 《Android开发艺术探索》之...

Super 含 的博客 515

32、社交媒体大数据中的情感分析与网络欺凌检测

本文探讨了社交媒体大数据在情感分析和网络欺凌检测中的应用。情感分析有助于应对自动化带来的社会变化、促进社会包容和推动环境保护。网络欺凌作为一种严重的在线危害,其检测依赖于数据预处理、特征提取与深度学习模型(如CNN、LSTM)进行分类。文章还总结了大数据在欺诈检测、医疗、制造、交通等领域的广泛应用,并分析了数据存储、处理速度、质量和技术工具等方面的挑战,提出了相应的应对策略。未来,随着技术进步,社交媒体大数据将在更多领域发挥关键作用。

cc789的博客 91

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

《Android 开发艺术探索》读书笔记(二)——IPC 机制

Android 多进程开发我在平时开发中还没有遇到,但不代表不重要,仍需要了解一下基本概念,Android 的序列化机制和 Binder 是。 1 Android IPC 简介 IPC 是 Inter Process Communication 的缩写,意为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。进程一般指一个程序或一个应用,一个进程可以包含多个线程,线程是 CPU 调度的...

禽兽先生不禽兽 421

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

《android开发艺术探索》笔记

android开发艺术探索笔记第一章Activity的生命周期和启动模式1.1 生命周期1.1.1 正常情况下的生命周期分析1.1.2 异常情况下的生命周期分析1.2 Activity的启动模式1.2.2 Activity的Flag1.2.3 IntentFilter的匹配规则第二章 IPC机制 第一章Activity的生命周期和启动模式 1.1 生命周期 1.1.1 正常情况下的生命周期分析 (1)第一次启动:onCreate->onStart->onResume。 (2)当用户打开一个新的

chen_xiaoke的博客 5827

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

《Android开发艺术探索》读书笔记——IPC机制

一、Android IPC简介 (1)IPC是Inter-Process Communication的缩写,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。 (2)线程是CPU调度的最小单位,进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线 程,因此进程和线程是包含与被包含的关系。 (3)一个进程中可以只有一个线程,即主线程,在A

ilsla的博客 892

【AI问答】【IPC】《安卓开发艺术探索》第二章 IPC机制 阅读解惑——序列化、mmap、inout关键字

阅读《安卓开发艺术探索》第二章 IPC机制 产生的冷门解惑,然后找AI老师提问,得到了回答,意满离并在此记录。 主要关于序列化、mmap、inout关键字

case_break的博客 814

Android开发艺术探索——IPC机制

这是我在学习过程中总结的知识 目的是希望日后回来看或者需要用的时候可以 一目了然 # 的回顾、巩固、查缺补漏 不追求详细相当于书本的精简版或者说是导读(想看详细的直接对应翻书),但会尽力保证读者都能快速理解和快速使用(随理解加深会总结的更加精简),但必要时会附上一些较详细解释的链接 脚注是空白的:表示还没弄懂的知识,了解后会添加 文章目录2.2 Android中的多进程模式2.2.1 关于进程命名...

Xeldow的博客 279

Android开发艺术探索完结篇——天道酬勤

这片文章发布,代表着我已经把本书和看完并且笔记也发布完成了,回忆了一下我看Android群英传,只用了两个月,但是看本书却花了2016年05月04日 - 2018年07月16日,整整两年多,真是惭愧 笔记链接 Android开发艺术探索——新的征程,程序人生路漫漫! Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式 Android开发艺术探索——第二章:IPC...

刘桂林的博客 1万+

《Android开发艺术探索》读书笔记2.IPC机制

1. Android IPC简介 IPC是Inter-Process Communication的缩写,是指两个进程之间进行数据交换的过程。 多进程的情况分为两种,第一种情况是一个应用因为某些原因自身需要采用多进程模式来实现,另一种情况是当前应用需要向其他应用获取数据。 2. Android中的多进程模式 1. 开启多进程模式 在Android中使用多进程只有一种方法,那就是给四大组件在...

Alen_Sun的博客 302

Android开发艺术探索读书笔记(一)

首先向各位严重推荐主席这本书《Android开发艺术探索》。     再感谢主席邀请写这篇读书笔记 + 书评。书已经完整的翻完一遍了,但是还没有细致的品读并run代码,最近有时间正好系统的把整本书从内容到代码都梳理一遍,一方面方便自己总结,一方面也为主席宣传,如果你还在犹豫要不要入手这本书的时候,希望看完我的笔记,能激发你购买的动力。OK,言归正传,下面先简单写几句书评,本人技术有限,只是从自身

amurocrash的专栏 9618

Android开发艺术探索

Android开发艺术探索 去发现同类优质开源项目:https://gitcode.com/ 本书《Android开发艺术探索》是由任玉刚编写的一本深入探讨Android应用开发的进阶书籍。书中采用了理论、源码与实践相结合的方法,全面阐述了Android应用开发的高级要点。 内容概述 全书分为十五章,从不同角度深入解析了Android开发中的关键技术和性能优化策略: 第一章:Activity的生...

gitblog_06721的博客 693

《Android 开发艺术探索》读书笔记完整版

第一章 Activity的生命周期和启动模式 第二章 IPC机制 第三章 View的事件体系 第四章 View的工作原理 第五章 理解RemoteViews 第六章 Android的Drawable 第七章 Android动画深入分析 第八章 理解Window和WindowManager 第九章 四大组件的工作过程 第十章 Android的消息机制 第十一章 Androi...

JiandaoStudio 620

[学习笔记]Android开发艺术探索:IPC机制

Android IPC简介 IPC为进程间通讯,两个进程之间进行数据交换的过程。 IPC不是Android所独有的,任何一个操作系统都有对应的IPC机制。Windows上通过剪切板、管道、油槽等进行进程间通讯。Linux上通过命名空间、共享内容、信号量等进行进程间通讯。Android中没有完全继承于Linux,有特色的进程间通讯方式是Binder,还支持Socket。 Android中的多进程模式...

尘埃zza的博客 511
上一篇: 自定义评分条-CustomAnimRatingBar(二)
下一篇: 《Android开发艺术探索》读书笔记-第三章 View的事件体系
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值