Android_14_源码分析之PackageManagerService
前言
背负着过去的痛苦,夹杂着现实的烦恼,对人的心灵而言是无任何益处的
参考博客
wise丰
冬子
本文中的所有内容大部分来源于网络资料,如有侵权请联系本人修改或删除,请大家多多支持原创!非常感谢!
PackageManagerService PackageManagerService(PMS)主要是管理应用的安装,卸载,更新,解析以及权限。同ActivityManagerService,PMS也是由SystemService孵化而来。
启动与初始化
frameworks/base/services/java/com/android/server/SystemServer.java
12345678910111213141516171819202122232425262728//line 1234// Start the package manager.if (!mRuntimeRestart) { FrameworkStatsLog. ...
Android_14_源码分析之ActivityManagerService
前序
一个人知道自己为什么而活,便能忍受任何一种生活
参考博客
厚雪长坡-ActivityTaskManagerService解析
LeeDuo-深入理解ActivityManagerService
芒果蒲公英-Android14 AMS启动流程
anly_jun-探索Activity之启动Intent Flag和taksAffinity
menghaocheng-Android-AMS】ActivityManagerService启动分析
Sukai’s Blog
本文中的所有内容大部分来源于网络资料,如有侵权请联系本人修改或删除,请大家多多支持原创!非常感谢!
ActivityManagerService Android系统非常庞大、错综复杂,其底层是采用Linux作为基底,上层采用包含虚拟机的Java层以及Native层,通过系统调用(Syscall)连接系统的内核空间与用户空间。用户空间主要采用C++和Java代码,通过JNI技术打通用户空间的Java层和Native层(C/C++)。Google官方提供了一 ...
Android_14_源码分析之启动流程
前序
时间从来不语,却回答了所有问题,岁月从来不言,却见证了所有努力,愿大家遇到困难时都能换乘机遇,踏歌而行时一往无前。
参考资料
Android Framework 开发揭秘
本文中的所有内容大部分来源于网络资料,如有侵权请联系本人修改或删除,请大家多多支持原创!非常感谢!
简介 Android 是一种基于 Linux 的开放源代码软件栈,为各类设备和机型而创建。
Android 平台的基础是Linux内核。例如,Android Runtime(ART)依靠Linux内核来执行底层功能,例如线程和底层内存管理。
Linux 内核
硬件抽象层(HAL)
HAL提供标准界面,向更高级的Java API 框架显示设备硬件功能。
Android Runtime
对于运行在Android 5.5(API 21)以上的设备,每个应用都有自己的ART实例并在其自己的进程中运行。
ART编写为通过执行DEX文件在低内存上运行多个虚拟机。
ART的功能包括
预先AOT和及时JIT,编译优化 ...
AndroidTV遥控以及协议浅析
前言
失之东隅,收之桑榆
参考文章
android 红外遥控器实现原理
Android红外及蓝牙遥控器适配流程
本文中的所有内容大部分来源于网络资料,如有侵权请联系本人修改或删除,请大家多多支持原创!非常感谢!
1. 海思红外遥控
adb 调试相关命令
cat /proc/bus/input/devices 查看input设备
dumpsys input 查看input设备
gatevent -l 查看输入event事件
1.1 遥控器逻辑过程以及源码分析
逻辑过程
从xml中获取物理键值,配对解析
linux的标准键值
自定义的字符串
定义这个字符串
android标准键值
android键值上报
按键事件处理
1.1.1 协议相关
涉及模块
device/hisilicon/bigfish/sdk/source/msp/drv/ir/ir_s2
device/hisilicon/bigfish ...
AndroidTv遥控模拟器app
前言
不要让时代的悲哀成为你的悲哀。
AndroidTv遥控模拟器app 由于公司是做机顶盒开发的,经常需要定制客户的遥控功能,遥控的系统码那么多,又不可能全部都购买一个遥控器,或者让客户邮寄过来进行配置(主要是验证遥控码值的功能),由于自己刚开始配不熟悉,有时候还因为修改了Key值,导致经常配错,又懒得去找遥控验证(实在不好找),想到手机也有红外功能,能不能用手机来模拟波形,实现模拟遥控发射的波形,来检测自己的遥控是否正确,正好当时也在研究AndroidTV系统源码中如何适配SONY的遥控器,所以就开发了这个app。这里简单记录一下,软件是年初的时候做的。
目前所支持的协议就三种,NEC,SONY,SAMSUNG。下面先简单介绍一下这三种协议以及波形(当时示波器自己倒是全部捕捉过,更换了电脑系统,没及时记录)。
1.NEC协议
参考文章
NEC红外传输协议详解(含代码)
红外协议 IR NEC 协议深度解析-简单易懂协议详解
NEC协议是现在比较常用的协议,也是最简单的协议。红外接受管有3个脚,一 ...
Android第三方网络框架封装-Java
Android第三方网络框架封装-Java
参考文章/博主
苏火火
Android进阶: 详解OkHttp+Retrofit+Rxjava实现网络请求
RxJava2+Retrofit2+OkHttp3的基础、封装和项目中的使用
本文中的所有内容大部分来源于网络资料,如有侵权请联系本人修改或删除,请大家多多支持原创!非常感谢!
1. 概述 在Android开发中,网络请求是必不可少的一环。最近做了一个需求,类似于应用宝的功能,需要从服务器获取数据,然后展示到界面上。并下载apk文件,实现静默安装。本篇主要介绍自己是如何使用Rxjava、Retrofit、Okhttp等框架,实现网络请求和下载apk的功能。
1.1 OKHttp OkHttp是一个用于处理HTTP请求的开源Java库,由Square公司开发。对于网络框架,更多的人会想到volley,volley是Android系统自带的网络请求框架。但是volle在Android 5.0之后被Google抛弃了,所以OkHttp逐渐成为Android开发 ...
AndroidTv部分页面按键音无效
Android Tv 部分页面按键音无效,dispatchKeyEvent分发被拦截 开始阅读之前,可以简单了解一下这些大佬的文章。
c枫_撸码的日子
Android 按键处理一 (基础知识)
Android 按键处理二 (按键流程之内核层篇)
Android 按键处理三 (按键流程之framework)
空杯的境界
Android 按键事件(KeyEvent)的分发机制
小羊子说
Android TV中按键事件和焦点处理总结
圆周率X
Android dispatchKeyEvent事件分发详解,简单易懂
问题描述 接入喇叭,进入应用,突然发现一些页面有系统调用的按键提示音,而有些页面则没有。(最终发现是使用了Scrollview出的bug)
问题分析 既然按键声音没有发出,那首先需要了解一下按键声音是怎么发出的。当用户注册了clickListener,则调用发出playSoundEffect()和响应用户写好的onClick()方法。首先排除系统设置声音无效。可以使用adb命令 adb ...
RecyclerView和ListView的缓存复用机制
背景 Android对于列表View的渲染和使用,常用的控件为ListView和RecyclerView。
适配器使用ListView123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657public class WifiAdapter extends ArrayAdapter<ScanResult> { public WifiAdapter(Context context, int resource, List<ScanResult> objects) { super(context, resource, objects); } /** * 获取适配器控件中的View对象,得到用于展示数据的视图 int position,:当前item的下标 View convertView, * 表示可复用的View ...
离别2022
第一行代码 Android 第2版 郭霖著
第1章 开启启程——你的第一行Android代码
第2章 先从看得到的入手——探究活动
第3章 软件也要拼脸蛋——UI开发的点点滴滴
第4章 手机平板要兼顾——探究碎片
第5章 全局大喇叭——详解广播机制
第6章 数据存储全方案——详解持久化技术
第7章 跨程序共享数据——探究内容提供器
第8章 丰富你的程序——运用手机多媒体
第9章 看看精彩的世界——使用网络技术
第10章 后台默默的劳动者——探究服务
第11章 Android特色开发——基于位置的服务
第12章 最佳的UI体验——MaterialDesign实战
第13章 继续进阶——你还应该掌握的高级技巧
第14章 进入实战——开发酷欧天气
第15章 最后一步——将应用发布到360应用商店
总结 观看郭老师的第一行代码书籍,始于7月终于12月。从一个懵懂无知的Android小白,如今总算入了门。恰逢2023年元旦来临之际,感触颇多。 还记得刚接触Android时配置环境的手忙脚乱,踩了很多坑。比如jdk、gradle、gradle plug ...
Unity学习之生命周期
Unity 生命周期函数
Unity 3D 中的生命周期函数
生命周函数:需要继承 MonoBehaviour 类才能使用。生命周期函数全部都是由系统定义好的,系统会自动调用,且调用顺序与在代码中的书写顺序无关
常用的生命周期函数Awake(): 唤醒事件,游戏一开始运行就执行,只执行一次。
OnEnable(): 启用事件,只执行一次,当脚本组件被启用的时候执行一次。
Start(): 开始事件,执行一次。
FiexdUpdate(): 固定更新事件,执行N次,每物理帧(0.02s)执行一次。所有物理相关的更新都在这个事件中处理。
**Update()**: 更新事件,执行N次,每帧执行一次。
LateUpdate(): 稍后更新事件,执行N次,在Update()事件执行完毕后在再执行。
OnGUI(): GUI渲染事件,执行N次,执行的次数是Update()事件的两倍。
OnDisable(): 禁用事件,执行一次。在OnDestory()事件前执行。或者当该脚本组件被”禁用”后,也会出发该事件。
OnDestory(): 销毁事件,执行一次。当脚本所挂载的游戏物体被销毁时执行 ...