Android共0篇 第2页
Android

Cordova安卓与JS交互原理

Cordova安卓与JS交互原理 JS调用Android JS通过引用调用插件访问Android代码: export const exec = (plguinName, functionName, params, success, failed) => { try { window.cordova .requi...
admin的头像-五八三admin2年前
080
AIDL 数据类型详解之 C++ 篇-五八三

AIDL 数据类型详解之 C++ 篇

AIDL 中的数据结构 在上文我们说到 AIDL 中支持的数据类型,这里我们再回顾一下: 在 Java 层,AIDL 支持以下多种数据类型: Java 编程语言中的所有的基本类型(如 int、long、char、boolean 等...
admin的头像-五八三admin2年前
01510
Binder - 1、初始化-五八三

Binder – 1、初始化

一、前言 Binder驱动层是整个Binder机制的核心,但是相对处于比较底层的位置,对于Android开发者来说,可能就只是知道著名的“一次拷贝”了,但是一次拷贝是如何实现的?恐怕大多数人也不甚了解...
admin的头像-五八三admin2年前
0110
Binder - 2、servicemanager的初始化-五八三

Binder – 2、servicemanager的初始化

一、前言 两个进程之间想要通信,就必须要知道对方的地址才行,这样的话,就必须要有一个“中间人”来做注册才行,servicemanager正是做这个事的,那又涉及到一个问题,应用进程怎么知道service...
admin的头像-五八三admin2年前
0120
Binder - 3、注册Service的过程-五八三

Binder – 3、注册Service的过程

一、前言 初始化完servicemanager之后,那么我们就可以往里面注册我们的Service了,对一些系统Service来说,它们提供了普通的Android应用赖以实现的接口,所以需要在系统启动之后就注册到servic...
admin的头像-五八三admin2年前
0550

Binder – 4、获取Service的过程

一、前言 我们在前文讨论了Service是怎么添加到ServiceManager的,说完了添加,我们来看下获取的过程,由于过程中很多东西都是一样的,所以获取的分析过程就稍显容易。 针对Service的获取,我们...
admin的头像-五八三admin2年前
0130
Binder - 5、一次平平无奇的Binder通信-五八三

Binder – 5、一次平平无奇的Binder通信

一、前言 在Binder - 4、获取Service的过程中,我们通过驱动层拿到了SurfaceFlinger对应的handle 0,然后用其创建了BpBinder,并在随后将其转换成为了BpSurfaceComposer。 在本文中,我们以BpSu...
admin的头像-五八三admin2年前
0130
Binder - 6、Binder中的一次拷贝-五八三

Binder – 6、Binder中的一次拷贝

一、前言 众所周知,Binder之所以高效,是因为它只发生了一次内存拷贝,那么它的“一次拷贝”到底是怎么实现的呢? 我们在之前在分析binder_transaction的时候,提到了一个方法,这个方法是一次...
admin的头像-五八三admin2年前
0180
Binder - Parcel的结构-五八三

Binder – Parcel的结构

一、前言 我们在BpServierManager的addService方法中,有一段初始化Parcel的代码,我们借此来分析一下Parcel的结构 二、源码分析 我们看下addService中Parcel的使用: ::android::Parcel _aidl_...
admin的头像-五八三admin2年前
0170
Binder通信之ContentProvider-五八三

Binder通信之ContentProvider

Binder通信之ContentProvider 前言 这是一篇偏实战的文章 深入讨论了ContentProvider如何实现进程通信 大家应该都比较熟悉ContentProvider,通常用于A进程查询B进程内部的数据。其中涉及到进程...
admin的头像-五八三admin2年前
0250
Now in Android #88 带你了解近期 Android 的一些新变化-五八三

Now in Android #88 带你了解近期 Android 的一些新变化

本期更新主要看点,Android 14 正式版临近发布,需要做好行为变更适配、Jetpack Compose 1.5带来性能提升、Kotlin 多平台名称更改为 KMP。 什么是 Now in Android? Now in Android 是 Android ...
admin的头像-五八三admin2年前
080
Jetpack Compose : 超简单实现滚轮控件(WheelPicker)-五八三

Jetpack Compose : 超简单实现滚轮控件(WheelPicker)

前言 滚轮应该是我们很经常用到一个控件了,比如日期选择,时间选择,地区选择等都习惯用滚轮来展示。 滚轮控件的识点 上图是由三个滚轮控件组成的日期选择器,以此我们分析所需要的知识点: 手...
admin的头像-五八三admin2年前
0110
鸿蒙剥离 AOSP 不兼容 Android 热门问题汇总,不吹不黑不吵-五八三

鸿蒙剥离 AOSP 不兼容 Android 热门问题汇总,不吹不黑不吵

上周发了一篇 《鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来》的相关资讯,没想到大家「讨(fa)论(xie)」的热情很高,莫名蹭了一波流量,虽然流量对我来说也没什么用,但几百条评论也收...
admin的头像-五八三admin2年前
0220
Google I/O 2023 - Flutter 3.10 发布,快来看看有什么更新吧-五八三

Google I/O 2023 – Flutter 3.10 发布,快来看看有什么更新吧

核心部分原文链接:medium.com/flutter/wha… 虽然本次 I/O 的核心 keynote 主要是 AI ,但是按照惯例依然发布了新的 Flutter 稳定版,不过并非大家猜测的 4.0,而是 3.10 ,Flutter 的版本号依...
admin的头像-五八三admin2年前
0320

安卓14的新内容: 全面概述

我正在参加「掘金·启航计划」 安卓14的新内容: 全面概述 安卓14为平台带来了大量的新功能和更新. 从对前台服务和警报的改进到语法转折和字体缩放, 安卓14对每个开发者都有好处. 我在下面列出了...
admin的头像-五八三admin2年前
0320
Android进阶宝典 -- 分三步详细分析Activity启动流程-五八三

Android进阶宝典 — 分三步详细分析Activity启动流程

相关文章: Android进阶宝典 -- 史上最详细Android系统启动全流程分析 Android进阶宝典 -- AMS启动App进程原理分析 在本篇文章开始之前,我们先看一张老图,相信伙伴们非常熟悉: 这是从Launche...
admin的头像-五八三admin2年前
0150
从LeakCanary看Fragment生命周期监控-五八三

从LeakCanary看Fragment生命周期监控

前文中我们已经了解到LeakCanary中Service生命销毁的监听方式,那么Fragment的生命周期监听又是怎么实现的呢? Activity生命周期监听,在Application里面有ActivityLifecycleCallbacks,那么Fra...
admin的头像-五八三admin2年前
0210
RecyclerView 之 DiffUtil-五八三

RecyclerView 之 DiffUtil

一、前言 DiffUtils 是 Support-v7:24:2.0 中,更新的工具类,主要是为了配合RecyclerView 使用,通过比对新、旧两个数据集的差异,生成旧数据到新数据的最小变动,然后对有变动的数据项,进行...
admin的头像-五八三admin2年前
0140

【玩转Android无障碍】之小试牛刀

是骡子是马拉出来遛遛呗 上一篇文章【玩转Android无障碍】之布局节点速查器 已经介绍了如何快速的查看页面节点信息了,现在开始我们就可以结合具体需求通过实战方式逐步实现一些有意思的功能了...
admin的头像-五八三admin2年前
0300

【玩转Android无障碍】之微信好友导出

【玩转Android无障碍】之微信好友导出 上一篇文章【玩转Android无障碍】之小试牛刀 已经简单介绍了一下实现一个功能需要的步骤,正所谓小试牛刀之后就可以大干一场了。本章我们来介绍一下如何获...
admin的头像-五八三admin2年前
0420