Android 多进程
android进程间通信方式有哪几种_安卓进程间通信
0. 前置知识其实android中追根溯源只有两种进程间通信方式,其他的方式都是通过封装这两种方式而得到的: Binder与Socket Android——Binder机制. Android中Socket通信的简单实现.首先我们需要知道几点:RPC,IDL,IPC分别是什么。RPC :Remote Procedure Call (远程过程调用) 是一种计算机通讯协议,为我们定义了计算机 C
日期 2023-06-12 10:48:40android线程间通信的几种方法_Android进程间和线程间通信方式
大家好,又见面了,我是你们的朋友全栈君。 进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一些在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。区
日期 2023-06-12 10:48:40Android进程间通信(一):基础介绍
转载请以链接形式标明出处: 本文出自:103style的博客 《Android开发艺术探索》 学习记录目录进程间通信简介Android中的多进程模式 如何开启多进程多进程模式的运行机制进程间通信基础概念介绍 Serializable接口Parcelable接口小结进程间通信简介进程间通信 即 IPC机制,IPC 全称为 Inter-Process Communication。首先我们先了解下
日期 2023-06-12 10:48:40Android进程间通信(五):进程间通信的方式之ContentProvider
转载请以链接形式标明出处: 本文出自:103style的博客 《Android开发艺术探索》 学习记录base on AndroidStudio 3.5.1目录简介自定义ContentProvider小结简介前面我们介绍了: 进程间通信基础介绍 通过AIDL介绍Binder的工作机制 通过 Bundle、文件共享、Messenger实现进程间通信 进程间通信的方式之AIDL本文主要介
日期 2023-06-12 10:48:40【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用启用普通安卓应用 | 应用进程分析 )
文章目录一、 Launcher 应用 startActivitySafely 方法分析二、 Launcher 中的 startActivity(View v, Intent intent, Object tag) 方法分析三、 Android 应用进程分析上一篇博客 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介
日期 2023-06-12 10:48:40【Android Binder 系统】一、Binder 系统核心 ( IPC 进程间通信 | RPC 远程调用 )
文章目录一、Binder 系统两个核心二、IPC 进程间通信三、RPC 远程过程调用一、Binder 系统两个核心Binder 系统 最重要的两个核心是 IPC 和 RPC ;IPC ( Inter-Process Communication ) 进程间通信 : 数据在 不同的进程 之间传递 ; 如 : 进程 A 发送数据到进程 B ;RPC ( Remote Procedure Call ) 远
日期 2023-06-12 10:48:40【Android 进程保活】Android 进程优先级 ( 前台进程 | 可见进程 | 服务进程 | 后台进程 | 空进程 )
文章目录一、Android 进程优先级二、前台进程三、可见进程四、服务进程五、后台进程六、空进程一、Android 进程优先级Android 进程优先级 : ① 前台进程 > ② 可见进程 > ③ 服务进程 > ④ 缓存进程 > ⑤ 空进程 ; 关键优先级进程 : ① 活动进程 ; 高优先级进程 : ② 可见进程 , ③ 服务进程 ; 低优先级进程 : ④ 后台进程
日期 2023-06-12 10:48:40【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 | 源码资源 )
文章目录一、 使用前台 Service 提高应用进程优先级1、 前台 Service 代码2、 前台 Service 代码3、 启动服务二、效果展示三、源码资源一、 使用前台 Service 提高应用进程优先级上一篇博客 【Android 进程保活】提升进程优先级 ( 1 像素 Activity 提高进程优先级 | taskAffinity 亲和性说明 | 运行效果 | 源码资源 ) 使用了前台
日期 2023-06-12 10:48:40【Android 进程保活】应用进程拉活 ( 应用进程拉活简介 | 广播拉活 | 显示广播与隐式广播 | 全家桶拉活 )
文章目录一、 应用进程拉活简介二、 广播拉活三、 显示广播与隐式广播四、 全家桶拉活一、 应用进程拉活简介之前的博客讲解的都是避免应用程序被杀死 , 提高应用进程的优先级 ;现在开始讲解进程拉活 , 进程被杀死以后 , 如何进行拉活 ;只要进行进程拉活 , 都会或多或少占用系统的资源 , 尤其是内存资源 , 因此 Android 官方对这种操作进行了各种限制 , 从 Android 7.0 开始限
日期 2023-06-12 10:48:40【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账户同步 | 源码资源 )
文章目录一、 账户同步二、 账户同步代码示例1、 账户同步 Service2、 账户同步 ContentProvider3、 AndroidManifest.xml 清单文件4、 sync-adapter 配置文件5、 账户同步工具类6、 MainActivity 启动账户同步7、 运行效果三、 源码资源一、 账户同步账户同步的作用 : 如果应用的数据发生了改变 , 可以通过账户进行同步 , 进而
日期 2023-06-12 10:48:40【Android 进程保活】应用进程拉活 ( JobScheduler 拉活 | JobScheduler 使用流程 | JobService 服务 | 不同版本兼容 | 源码资源 )
文章目录一、 JobScheduler 用法简介二、 JobScheduler 拉活完整代码1、 JobService2、清单文件3、启动 JobScheduler 任务4、运行效果三、 源码资源一、 JobScheduler 用法简介JobScheduler 机制可以规定在特定状态 , 特定时间 , 执行周期性任务 ;JobScheduler 是系统服务 , 由系统负责调度第三方应用注册的 Jo
日期 2023-06-12 10:48:40【Android 进程保活】应用进程拉活 ( 双进程守护保活 )
文章目录一、 双进程守护保活原理二、 双进程守护保活完整源码1、AIDL 接口2、本地前台服务 Service3、远程前台服务 Service4、清单配置5、启动两个服务5、执行效果三、 源码资源一、 双进程守护保活原理双进程守护拉活 , 使用 JobScheduler 拉活 和 系统 Service 机制拉活 两种拉活方式 , 结合起来使用 ;双进程机制拉活 , 比之前的 广播拉活 , 系统 S
日期 2023-06-12 10:48:40【Android 插件化】Hook 插件化框架 ( 从 Hook 应用角度分析 Activity 启动流程 二 | AMS 进程相关源码 | 主进程相关源码 )
Android 插件化系列文章目录【Android 插件化】插件化简介 ( 组件化与插件化 ) 【Android 插件化】插件化原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件化】插件化原理 ( 类加载器 )【Android 插件化】“ 插桩式 “ 插件化框架 ( 原理与实现思路 ) 【Android 插件化】“ 插桩式 “ 插件化框架 ( 类加载器创建 | 资源加载
日期 2023-06-12 10:48:40【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )
文章目录一、代码调试器功能简介二、Attach 进程一、代码调试器功能简介代码调试器功能 :设置断点 : 无论什么类型的调试器 , 都必须可以设置断点 , 运行到断点处 , 挂起被调试进程 , 读取当前状态的 CPU 寄存器和内存数据 ; arm 架构中 , 有一个单步调试标志位 , 将该标志位设置为 1 , 即可进行单步调试 ;x86 架构中 , 主要是靠 int3 触发 , int3 对
日期 2023-06-12 10:48:40【Android 逆向】修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )
文章目录一、运行环境搭建 Android 模拟器安装二、拷贝 Android 平台可执行文件和动态库到 /data/system 目录下一、运行环境搭建 Android 模拟器安装使用低版本的雷电模拟器调试应用 , 下载地址 https://www.ldmnq.com/other/version-history-and-release-notes.html?log=3下载能下载的最老的版本 , 这
日期 2023-06-12 10:48:40【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )
文章目录一、Visual Studio 中创建 Makefile 项目二、配置 Makefile 文件三、配置 Android.mk四、配置 Application.mk五、主函数源码六、编译 NDK 项目一、Visual Studio 中创建 Makefile 项目在 Visual Studio 2019 欢迎界面中 , 选择 " 创建新项目 " ;在 " 创建新项
日期 2023-06-12 10:48:40【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
文章目录一、调试进程 ATTACH 附着目标进程二、读取目标函数寄存器值并存档1、主要操作流程2、ptrace 函数 PTRACE_GETREGS 读取寄存器值一、调试进程 ATTACH 附着目标进程在 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具的 main 函数分析 ) 博客中 , 在 main 函数中获取了 进程号 PID , 下面开始将 SO 动
日期 2023-06-12 10:48:40【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
文章目录一、mmap 简介二、mmap 函数作用一、mmap 简介mmap 函数的作用是 将 文件 映射到 内存中 , 映射的单位必须是 PAGE_SIZE ;mmap 函数引入头文件 :<sys/mman.h>复制mmap 函数原型 :<sys/mman.h> void* mmap(void* start,size_t length,int prot,int flags,
日期 2023-06-12 10:48:40【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 )
文章目录一、dlopen 函数简介二、获取 目标进程 linker 中的 dlopen 函数地址三、远程调用 目标进程 linker 中的 dlopen 函数一、dlopen 函数简介dlopen 函数的作用是 打开一个 so 动态库 , 并返回该 so 的句柄 ;包含头文件 :#include<dlfcn.h>复制函数原型 :void * dlopen( const char * p
日期 2023-06-12 10:48:40【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )
文章目录一、dlsym 函数简介二、获取 目标进程 linker 中的 dlsym 函数地址三、远程调用 目标进程 linker 中的 dlsym 函数 获取 注入的 libbridge.so 动态库中的 load 函数地址四、远程调用 目标进程 中的 libbridge.so 动态库中的 load 函数一、dlsym 函数简介dlsym 是 Dynamic Library Symbol 的缩写
日期 2023-06-12 10:48:40再谈Android客户端进程保活详解手机开发
在很多移动应用中,特别是即时通信类项目中,保活是一个永远无法避免的一个话题。保活,按照我的理解,主要包含两部分: 网络连接保活:如何保证消息接收实时性。 进程保活:尽量保证应用的进程不被Android系统回收。 在很早以前,谈Android的保活都会涉及到进程常驻内存,如何进行性能优化等话题,今天就这些话题,做一个简单的总结。 Android进程 在讨论这个问题之前,我们首先来看一些现象
日期 2023-06-12 10:48:40[Android Pro] AIDL进程间传递自定义类型参数
1、创建.aidl 文件 AIDL 语法简单,用来声明接口,其中的方法接收参数和返回值,但是参数和返回值的类型是有约束的,且有些类型是需要 import,另外一些则无需这样做。 AIDL 支持的数据类型划分为四类,第一类是 Java 编程语言中的基本类型,第二类包括 String、List、Map 和 CharSequence,第三类是其他 AIDL 生成的 interface,第四类是实现了
日期 2023-06-12 10:48:40android进程 清理及activity栈管理
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void i
日期 2023-06-12 10:48:40Android P之init进程启动源码分析
https://blog.csdn.net/tkwxty/category_10002277.html
日期 2023-06-12 10:48:40Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
https://www.jb51.net/article/91487.htm
日期 2023-06-12 10:48:40深入解读Android的内部进程通信接口AIDL
https://www.jb51.net/article/83304.htm
日期 2023-06-12 10:48:40Android跨进程抛异常的原理的实现
https://www.jb51.net/article/150546.htm
日期 2023-06-12 10:48:40《Android Framework-跨进程通信高级实战课》笔记
课程地址:https://ke.qq.com/course/3853967 命令含义service list系统启动的所有服务service list | grep activityactivity 服务ps
日期 2023-06-12 10:48:40Android 9.0 app进程保活根据包名设置oom_adj的值为0
1.概述 在9.0的系统产品rom定制化开发的过程中,会有各种各样的定制化需求,在对于app长期在后台运行的时候,不希望app进程被杀掉,所以在保活app的时候,也是会有这样的要求的, app被保活的化,在退出后台,就不会被优先杀掉,就可以长期在后台允许,这些对于很重要的服务也是特别重要的功能 2.app进程保活根据包名设置oom_adj
日期 2023-06-12 10:48:40Android app跨进程通讯对于休眠进程断开重连的解决
目录 1.概述 2. app跨进程通讯对于休眠进程断开重连的解决的功能实现 1.概述 在现在app之间跨进程通讯也是常有的功能,但是在长时间休眠后 再次唤醒时,发现有时候进程中断了出现调用时,抛空指针异常的情况,这就需要在唤醒时重连下就可以了
日期 2023-06-12 10:48:40Android 10.0 app进程保活黑名单
目录 1.概述 2.app杀进程黑名单的核心功能代码 3.app进程保活黑名单的核心功能代码和功能实现
日期 2023-06-12 10:48:40