随笔分类 - Android
摘要:简介 AIDL(Android接口定义语言),用于定义客户端与服务端进程间IPC通信接口。在Android,不同进程无法共享内存,所以使用AIDL通信 服务端使用AIDL的流程 1、在AIDL文件中定义接口IRemoteInterface(方法与变量) 2、Rebuild项目生成IBinder接口I
阅读全文
摘要:前言 由于项目需要现在需要从JAVA转到Kotlin,记录一下学习过程。教材《疯狂Android讲义kotlin》。本篇不会介绍Android基础知识,着重讲解Java到Kotlin代码的变化。 在线编译网站:https://c.runoob.com/compile/2960/。一般我都是在Andr
阅读全文
摘要:前言 Android的动画可以分为三种,View动画,帧动画,属性动画。其中帧动画其实也属于View动画。 View动画通过对场景的对象不断做图像变换,如平移,缩放,旋转,透明度而产生动画效果。 帧动画通过顺序播放一系列图像而产生动画效果 属性动画通过动态改变对象属性而达到动画效果 View动画 V
阅读全文
摘要:基础知识-底层View对象 ViewParent ViewParent对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带。View绘制三大流程都是通过它来完成的 DecorView ContentView的父容器 ViewRootImpl 在 Activit
阅读全文
摘要:预备知识 ServiceManager 通过init进程解析init.rc脚本构建,ServiceManager是Binder机制中的DNS服务器,负责将某Binder服务在ServiceManager注册时提供的ID到底层Binder驱动分配值的解析 是一个Linux程序,所属class为core
阅读全文
摘要:名称 优点 缺点 使用场景 Bundle 简单 数据类型受限 四大组件进程间通信 文件共享 简单 不适合高并发,不能即时通信 无并发,实时性不高 AIDL 无敌 使用复杂 支持RPC,一对多 Messenger 支持一对多串行实时通信 不适合高并发,不支持RPC 低并发 ContentProvide
阅读全文
摘要:前言 同一个程序中,有两个函数A和B。A能直接调用B,B能直接调用A,根本原因是他们处于相同的内存空间中时,虚拟地址的映射规则完全一致。 如果是两个进程,他们是没办法通过内存地址来访问对方内部的函数和变量的。 因此,Android提供了Binder来处理进程间通信,他是Android中使用最广泛的I
阅读全文
摘要:前言 Window表示一个窗口,日常开发时接触的不多。但是在一些场景下会使用到window,比如在桌面显示一个悬浮窗。 Window时一个抽象类,具体实现是PhoneWindow。创建一个Window,通过windowManager即可完成 WindowManager是外界访问Window的入口,W
阅读全文
摘要:前言 View是所有可视化空间的父类,系统提供了很多基础控件,比如Button,TextView等,但是仅仅使用他们是完全不能满足需求的,因此我们就需要自定义控件,而自定义控件,就需要对Android的View体系有充分的了解。有一个经典场景就是屏幕的滑动,当处于不同层级的View都响应用户滑动,就
阅读全文

浙公网安备 33010602011771号