- 博客(7)
- 收藏
- 关注
原创 AMS启动应用程序
进程启动与Activity创建Launcher向ActivityManagerService请求启动APP的根Activity。Activity首先经由mInstrumentation.execStartActivity,然后通过AMS的代理IActivityManager进入到了AMS,这里使用Binder。到了AMS先会进入到ActivityStarter,解析Intent#Action获得目标Activity的ActivityInfo,对权限等进行一些列校验并创建ActivityReco
2021-12-16 21:55:42 352
原创 Binder IPC通信原理
Binder 设备是 misc dev,即没有具体的设备,但它同样有驱动并且需要被加载。Binder 通信模型Binder Driver (Kernel)binder_init():创建设备节点“/dev/binder”驱动在内核启动时被加载。device_initcall(binder_init); // kernel/linux-5.14.10/drivers/android/binder.cret = init_binder_device(device_name);st.
2021-12-16 14:50:50 497 1
原创 Dalvik VM 进程系统
系统进程启动流程Android系统架构Linux Kernel硬件抽象层 Hardware Abstraction Layer(HAL)Native C/C++ LibrariesAndroid RuntimeJava API FrameworkSystem AppsOS启动流程1. Boot Rom -> Boot Loader2. Kernel内核启动时,设置缓存、被保护存储器、计划列表, 加载驱动。当内核完成系统设置,它首先在系统文件中寻找”init”文件.
2021-12-16 14:34:22 1742
原创 一些简单笔记
### 像素单位适配在代码里面的像素大小其实对应是 px 而不是 dp在屏幕分辨率 320 480的时候,1px=1dp,屏幕密度值是1, 每英寸160像素点让代码里面的数字使用dp来计量 ## ?// 根据dp 转换成px 值int size= getResources().getDimensionPixelSize(R.dimen.dot_size);-------
2021-12-16 13:41:08 75
原创 flowlayoutlibrary源码释放(待续)
package com.example.flowlayoutlibrary;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import j
2016-10-07 14:21:42 268
原创 Layout图片宽高自适应
范例:RatioLayoutTODO 包裹ImageView,适配宽度或高度,解决宽度或高度二次缩放问题public class RatioLayout extends FrameLayout { private static final String TAG = "RatioLayout"; private static final int MOD
2016-10-06 19:49:59 804
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人