随笔分类 -  Android 系统开发

摘要:上下文定义 标准的label取名方式是需要被遵守的,因为很多宏里面就直接用了。。 hwservice_contexts 这里标注的是使用hwbinder的服务通信的接口 标准的label取名方式是以_hwservice结尾 hwbinder是框架与供应商内容之间的ipc通信模块 同理,还有个vndb 阅读全文
posted @ 2023-09-15 14:53 鲸小鱼- 阅读(232) 评论(0) 推荐(0) 编辑
摘要:android.os.HandlerExecutor是一个Android平台的Executor,它可以将任务发布到指定的Handler运行。可以将HandlerExecutor视为一种将任务提交到Handler的简单方法,与使用Handler.post(Runnable)相比,HandlerExec 阅读全文
posted @ 2023-08-22 10:12 鲸小鱼- 阅读(125) 评论(0) 推荐(0) 编辑
摘要:SparseArray家族 SparseArray基于键值对存储数据,key为int,value为object,简单使用如下: //声明 SparseArray<String> sparseArray= new SparseArray<>(); //增加元素,append方式 sparseArray 阅读全文
posted @ 2023-03-21 21:05 鲸小鱼- 阅读(294) 评论(0) 推荐(0) 编辑
摘要:Handler 在整个 Android 开发体系中占据着很重要的地位,是一种标准的事件驱动模型,对开发者来说起到的作用很明确,就是为了实现线程切换或者是执行延时任务,稍微更高级一点的用法可能是为了保证多个任务在执行时的有序性。由于 Android 系统中的主线程有特殊地位,所以像 EventBus 阅读全文
posted @ 2023-02-02 16:15 鲸小鱼- 阅读(234) 评论(0) 推荐(0) 编辑
摘要:美团外卖 com.sankuai.meituan.takeoutnew 饿了么 me.ele 摩拜单车 com.mobike.mobikeapp OFO so.ofo.labofo 今日头条 com.ss.android.article.news 新浪微博 com.sina.weibo 网易新闻 c 阅读全文
posted @ 2022-12-02 12:30 鲸小鱼- 阅读(340) 评论(0) 推荐(0) 编辑
摘要:本期主要内容 1: Handler是什么? 2:为什么要使用Handler? 3: Handler /Looper/ MessageQueue/Message究竟是做什么的? 4:Handler如何去实现发送和处理消息 1、Handler是什么? Handler 是一个消息分发对象。handler是 阅读全文
posted @ 2022-11-17 11:41 鲸小鱼- 阅读(2036) 评论(0) 推荐(1) 编辑
摘要:AOSP 代码格式 HIDL代码格式:code style JAVA代码格式:code style 参考标准 Google Style Guides C++: http://google.github.io/styleguide/cppguide.html (翻译版: http://zh-googl 阅读全文
posted @ 2022-10-27 20:06 鲸小鱼- 阅读(59) 评论(0) 推荐(0) 编辑
摘要:Android编译选项eng、user、userdebug的区别https://www.xuebuyuan.com/1408769.html Android编译选项中eng、user、user-debug主要区别https://blog.csdn.net/yanghanxing110/article 阅读全文
posted @ 2022-09-22 18:59 鲸小鱼- 阅读(1207) 评论(0) 推荐(0) 编辑
摘要:AP和BP简介 大多数手机都至少存在两个处理器,一个负责AP侧,一个负责BP侧。 数的手机都含有两个处理器。操作系统、用户界面和应用程序都在Application Processor(即AP)(应用处理器)上执行,AP一般采用ARM芯片的CPU。运行在Application Processor(AP 阅读全文
posted @ 2022-09-21 16:39 鲸小鱼- 阅读(1130) 评论(0) 推荐(1) 编辑
摘要:早期的Android系统都是采用Android.mk的配置来编译源码,从Android 7.0开始引入Android.bp。很明显Android.bp的出现就是为了替换掉Android.mk。 再来说一说跟着Android版本相应的发展演变过程: Android 7.0引入ninja和kati An 阅读全文
posted @ 2022-09-09 14:08 鲸小鱼- 阅读(770) 评论(0) 推荐(0) 编辑
摘要:Android BugReport 中包含文本 (.txt) 格式的 dumpsys(转储系统)、dumpstate(转储状态)、Logcat 数据,便于轻松搜索特定内容。以下各部分详细说明了BugReport 的组成部分及常见问题,并提供了关于查找与这些错误相关的日志的实用提示和 grep 命令。 阅读全文
posted @ 2022-09-07 14:47 鲸小鱼- 阅读(3648) 评论(0) 推荐(0) 编辑
摘要:3者的区别 使用方式不同 onPreferenceClick 与onPreferenceChange 是通过preference.setOnPreferenceClickListener preference.setOnPreferenceChangeListener来注册listener使用的 。 阅读全文
posted @ 2022-07-20 15:28 鲸小鱼- 阅读(617) 评论(0) 推荐(0) 编辑
摘要:Android Wi-Fi架构概述 熟悉Android Wi-Fi Framework的同学都知道,Android Wi-Fi架构如下图所示: 简单来说Android Wi-Fi架构分三层: Application层,即应用层,指系统应用或第三方应用 Wi-Fi Service层,属于Android 阅读全文
posted @ 2022-07-05 14:28 鲸小鱼- 阅读(934) 评论(0) 推荐(1) 编辑
摘要:新的android studio (4.2)已经不支持旧有的了,有些方法和类会找不到。 com.android.tools.build:gradle:2.3.3 去build.gradle中把这个classpath换成最新的版本。最好也把gradle和gradle wrapper的版本也弄到最新。比 阅读全文
posted @ 2022-04-22 19:24 鲸小鱼- 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:什么是stub 存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的。 如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。 但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口, 阅读全文
posted @ 2022-03-24 14:21 鲸小鱼- 阅读(1150) 评论(0) 推荐(0) 编辑
摘要:在Linux系统下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区使用,从而解决内存容量不足的情况。 查看swap分区大小 free -h free -m 增加swap分区的方法 可以通过删除现有SWAP分区,然后创建新的swap的方法来调整s 阅读全文
posted @ 2021-11-19 11:22 鲸小鱼- 阅读(3579) 评论(0) 推荐(0) 编辑
摘要:Android 五种数据存储的方式分别为: SharedPreferences:以Map形式存放简单的配置参数; ContentProvider:将应用的私有数据提供给其他应用使用; 文件存储:以IO流形式存放,可分为手机内部和手机外部(sd卡等)存储,可存放较大数据; SQLite:轻量级、跨平台 阅读全文
posted @ 2021-11-15 11:20 鲸小鱼- 阅读(757) 评论(0) 推荐(0) 编辑
摘要:引言:这篇文章以WiFi举例,介绍了Android系统网络架构。其内容包含:网络链路的连接和注册、网络有效性检测和网络优选、Android系统网络防火墙和几种场景下的网络策略等,文章的最后也列举了几种常见的无法上网原因供大家参考。 一. 基本结构 1.1 类图 1.2 WifiService Wif 阅读全文
posted @ 2021-10-08 10:55 鲸小鱼- 阅读(2743) 评论(0) 推荐(1) 编辑
摘要:快速入手必看: 如何确认是否是selinux问题: 可以通过运行 cat /proc/kmsg 或者 cat /sys/fs/pstore/console-ramoops 来获取上次启动时的事件日志。SELinux 日志消息中包含“avc:”字样,因此可使用 grep 轻松找到。 一般如下: [10 阅读全文
posted @ 2021-09-28 20:47 鲸小鱼- 阅读(3142) 评论(0) 推荐(0) 编辑
摘要:从android5.0开始,强制开启了SELinux,对系统属性的访问权限也由selinux进行限制。 SELinux非常繁杂,8.0开始的Treble Project后,为了实现system、vendor分区的隔离,selinux的机制变的更加繁琐。本文不打算全面讲解android上selinux 阅读全文
posted @ 2021-09-23 15:54 鲸小鱼- 阅读(1908) 评论(0) 推荐(0) 编辑