Android Framework
文章平均质量分 94
Fwk平时积累
broadview_java
这个作者很懒,什么都没留下…
展开
-
Android 使用ping命令判断当前网络状态
ping命令是用来测试和诊断网络连接问题的基本命令,当然我们的终端设备(手机/平板/车机)都可以用这个命令来判断当前网络是否有流量的状态,本篇文章主要介绍Linux的ping命令,因为Android系统也是使用了Linux内核。然后使用ping命令封装一个判断当前网络是否有流量的方法。原创 2024-04-15 13:35:08 · 2642 阅读 · 0 评论 -
Android轻量级进程间通信Messenger源码分析
Android中比较有代表性的两大通信机制:1. 线程间Handler通信 2. 进程间Binder通信,本篇文章中我们在理解AIDL原理的基础上来解读一下Messenger的源代码, 并结合示例Demo加深理解。在看本篇文章前,建议先查阅一下笔者的Android 进程间通信机制(六) 手写AIDL文件首先说下我对Messenger的个人理解:1. 从概念上阐述Messenger进程间通信的信使,是一个轻量级的IPC通信方案, 和Message消息不是一个概念。2. 从实现上描述。原创 2024-02-20 10:11:20 · 1237 阅读 · 0 评论 -
Android 通过adb命令查看应用流量
若要输出额外信息,如详细的唯一用户 ID (UID) 信息,请包含。以下示例输出内容中列出了连接的设备的活跃接口和活跃 UID 接口。在大多数情况下,活跃接口和活跃 UID 接口的信息是相同的。有两个这样的行,第一个表示移动数据连接,第二个表示 Wi-Fi 连接。输出内容因连接的设备上搭载的 Android 版本不同而异。总结: 第四种方式,就是需要自己去把每个时间段的接收和发送的byte数相加处理,然后统计总流量。wlan0: 表示代表的是wlan端口,wifi流量就是用的这个Interface。原创 2024-01-22 11:15:32 · 1624 阅读 · 0 评论 -
Android 进程间通信机制(六) 手写AIDL文件
本文重点讲解一下AIDL文件结构以及类中每个方法的含义. 然后把AIDL中每个方法的用途理解清楚后, 我们就不依赖AS自带的工具创建, 而是自己手动去写一个AIDL文件, 在手写的代码中添加自己的日志, 根据打印理清楚客户端与服务端跨进程通信的流程图, 目的加深对IPC机制的理解.原创 2023-06-14 17:31:33 · 1533 阅读 · 0 评论 -
Android ActivityManagerService总结(四)startActivity流程
AMS(ActivityManagerService)是Activity管理的核心组件,提供了Activity的启动、生命周期管理、栈管理等功能,熟悉AMS会对我们认识Activity的工作原理有很大的帮助.AMS中内容实在是太多了,对它的分析也不可能面面俱到,从Activity的启动、Activity消息回传(onActivityResult)、Activity栈管理、AMS与WMS和PMS的协同工作这几个点深入理解一下,通过对源码的流程梳理, 对AMS有进一步的理解.原创 2023-04-04 22:55:02 · 1172 阅读 · 3 评论 -
Android ActivityManagerService总结(二)AMS组成
组件运行才是进程存在的意义,由于android系统进程间的无缝结合,所以系统需要控制到组件级别,所有的组件信息都需要映射到系统,一个ActivityRecord记录对应一个Activity的信息,一个ServiceRecord记录对应一个Service的信息,一个ConnectionRecord记录对应一个bind service的客户端信息,一个ReceiverList对应处理同一事件的一组广播,一个ContentProviderRecord记录对应一个ContentProvider信息,一个Conten原创 2023-04-02 13:12:37 · 891 阅读 · 0 评论 -
Android ActivityManagerService总结(一)AMS启动
ActivityManagerService是Android系统中一个特别重要的系统服务,也是我们上层APP打交道最多的系统服务之一。ActivityManagerService(以下简称AMS) 主要负责四大组件的启动、切换、调度以及应用进程的管理和调度工作本文主要介绍一下启动过程原创 2023-04-02 11:15:40 · 1180 阅读 · 0 评论 -
Android PackageManagerService总结(五) APK卸载流程
PackageManagerService(简称PKMS),是Android系统中核心服务之一,管理着所有与package相关的工作,常见的比如安装、卸载应用, 信息查询等工作重点介绍一下apk卸载流程原创 2023-03-26 13:23:53 · 3196 阅读 · 0 评论 -
Android PackageManagerService总结(四) APK安装流程
管理本地apk,主要包括安装、删除本篇文章重点介绍一下apk安装流程原创 2023-03-25 12:56:41 · 4131 阅读 · 0 评论 -
Android PackageManagerService总结(三) APK扫描流程
PackageManagerService . 扫描本地文件,主要针对apk,主要是系统应用、本地安装应用原创 2023-03-23 22:01:06 · 1361 阅读 · 0 评论 -
Android PackageManagerService总结(二) PKMS启动过程
PackageManagerService(简称PKMS),是Android系统中核心服务之一,管理着所有与package相关的工作,常见的比如安装、卸载应用, 信息查询等工作原创 2023-03-23 16:29:48 · 1227 阅读 · 0 评论 -
Android bindService流程
我们可以通过startService来启动一个服务, 当然也可以通过bindService绑定一个服务,本篇文章我们来讲一讲绑定服务的完整流程, 阅读此文之前,建议先阅读一下笔者的这三篇文章整个流程我们从 应用进程到AMS的的调用过程 和 Sevice的绑定过程 来梳理一下。原创 2023-03-21 22:19:42 · 1618 阅读 · 0 评论 -
Android 进程间通信机制(四) 应用进程启动过程
Android 进程间通信机制(四) 应用进程启动过程AMS在启动一个应用的时候,事先会检查这个应用的进程是否存在, 不存在的话就会请求Zygote进程去fork一个新进程原创 2023-03-20 22:04:35 · 1003 阅读 · 0 评论 -
Android 进程间通信机制(三) 系统进程与应用进程通信
IApplicationThread:作为系统进程请求应用进程的接口IActivityManager: 作为应用进程请求系统进程的接口。原创 2023-03-18 21:41:20 · 1414 阅读 · 0 评论 -
Android 进程间通信机制(五) startService流程
和进程间通信涉及到客户端和服务端, 肯定有绑定服务的过程, 所以要阅读一下Android Service相关的知识, 跨进程通信的媒介aidl文件,我们也必须要了解怎么创建的,有什么规则,所以请先阅读一下Android AIDL使用这篇文章.本篇文章为啥要先讲一讲startService的流程呢?主要是为了后面分析bindService绑定服务的流程做个铺垫. 本文内容是基于 Android10源码上分析总结出的.原创 2023-03-15 22:54:53 · 1008 阅读 · 0 评论 -
Android 进程间通信机制(二) mmap 原理
Binder中一次拷贝的实现利用mmap(memory mapping)内存映射机制原创 2023-03-11 15:10:12 · 1376 阅读 · 1 评论 -
Android 进程间通信机制(一) IPC概念和模型
Android 进程间通信机制 IPC概念和模型原创 2023-03-10 09:46:18 · 1361 阅读 · 0 评论 -
Android AIDL使用
Android 接口定义语言 (AIDL) AIDL语法原创 2023-03-07 19:09:59 · 2094 阅读 · 0 评论 -
Android Handler机制(四) Message源码分析
Android Handler机制 Message源码分析原创 2023-03-02 18:25:10 · 772 阅读 · 0 评论 -
Android Handler机制(三) Looper源码分析
Android Handler机制 Looper源码分析原创 2023-03-02 10:58:24 · 569 阅读 · 1 评论 -
Android Handler机制(二) Handler 实现原理
Handler机制 Handler 工作原理原创 2023-03-01 21:16:31 · 662 阅读 · 0 评论 -
Android Handler机制(一) 为什么设计Handler
Android Handler机制 google为什么会设计Handler原创 2023-03-01 13:44:49 · 528 阅读 · 0 评论 -
Android 权限(二): 动态权限讲解
Android动态权限讲解 默认赋予运行时权限原创 2023-02-21 16:06:39 · 2305 阅读 · 0 评论 -
Android 显示 指纹/人脸 身份验证对话框
Android 显示 指纹/人脸 身份验证对话框 Android 显示生物识别身份验证对话框原创 2023-02-08 16:43:02 · 3729 阅读 · 3 评论 -
Android 权限(一):权限大全
Android 权限大全原创 2023-02-06 12:43:55 · 12496 阅读 · 0 评论 -
Android开发中的线程池使用
Android 线程池的使用 ThreadPoolExecutor原创 2022-12-24 15:45:52 · 3176 阅读 · 0 评论 -
Java强软弱虚引用和ThreadLocal工作原理(二)
ThreadLocal 源码分析 Java强软弱虚引用原创 2022-12-17 11:50:01 · 721 阅读 · 0 评论 -
Java强软弱虚引用和ThreadLocal工作原理(一)
Java强软弱虚引用理解原创 2022-11-23 16:00:46 · 697 阅读 · 0 评论 -
IntentService 源码理解
Android IntentService源码解析 IntentService使用方法原创 2022-11-18 18:22:07 · 1236 阅读 · 0 评论 -
HandlerThread源码理解
Android HandlerThread源码分析与运用原创 2022-11-16 17:42:00 · 1492 阅读 · 0 评论 -
WorkManager 使用说明
Android WorkManager使用说明文档原创 2022-11-10 11:10:08 · 1429 阅读 · 0 评论 -
Android开发你需要掌握的java反射机制原理
java反射机制 反射在Android开发中的应用 反射获取顶层Activity的名称 反射调用SystemProperties中set get方法原创 2022-10-24 16:25:05 · 3371 阅读 · 0 评论 -
Android不同设备字符串显示原理和build.prop生成过程
Android 不同设备加载字符串 build.prop生成过程原创 2022-08-28 13:40:50 · 2648 阅读 · 0 评论 -
Android UsageStatsService 系统数据统计和数据上报
UsageStatsService 工作原理 UsageStatsManager API 使用原创 2022-07-03 19:56:13 · 3012 阅读 · 0 评论 -
Android 特许权限白名单
Android 特许权限白名单配置方法原创 2022-06-27 12:39:44 · 4585 阅读 · 1 评论 -
Android 自定义Preference 讲解
Andorid 自定义Preference 详细讲解原创 2022-06-13 10:27:49 · 3494 阅读 · 1 评论 -
Android PackageManagerService 总结(一)应用市场下载安装apk流程
前言:本篇文章是对系统包安装流程的总结,基于Android12 上 com.android.packageinstaller源码的分析,第三方应用商城(华为商城,小米商城,应用宝,豌豆荚,酷安等)下载安装应用,在普通安装和静默安装app两种方式下,对代码流程的梳理和讲解。触发安装: 当你在商城界面中点击安装按钮,应用会自动下载,下载完成后就会调起系统安装应用的界面,此种触发方式一般是通过Intent 隐式调用的,我们先阅读如下代码:......原创 2022-04-30 22:16:45 · 9217 阅读 · 0 评论 -
Android Loader LoaderManager 总结(一)
前言: 本篇文章是对Loader 和 LoaderManager使用和梳理问题描述提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();....原创 2022-04-10 19:01:09 · 5049 阅读 · 0 评论