- 博客(27)
- 收藏
- 关注
原创 利用Android内核中uevent机制限制设备连接的方式
uevent的主要功能是在设备或Kobject状态发生变化时,例如设备的添加、移除或属性变化等,向用户空间程序发送通知。这些通知可以被用来动态创建或删除设备节点,或者触发其他用户空间的响应动作。在Linux设备驱动开发中,uevent机制是非常重要的一部分。它允许内核和用户空间之间进行有效的通信,使得用户空间能够及时了解设备状态的变化并做出相应的处理。这比早期需要手动使用mknod命令来创建设备节点的方式要高效和自动化得多。
2024-05-09 15:27:32
1010
原创 如何使用ndk打开camera
因业务需求需要使用c++代码打开camera,之前没怎么接触过c++的应用,也算是一种全新的挑战吧。其实代码很简单,但是这中间有很多的坑,记录一下避免大家出现同样的问题。此方法打开camera的代码全是c++的,不需要使用到java,这样可以提高响应速度提升性能,优化用户体验。如果想要在打开camera后集成一些别的库实现一些接口,这样会比java更好。但是这中间的坑就在这里,,真是晕了。。。
2023-07-10 18:56:11
1673
9
原创 卡顿分析经典实战(RUNNING时间过长篇)
卡顿分析是非常复杂的,但是也是我们必须要掌握的一个点,最近遇到了一个bug,根据平台的帮忙以及自身的分析最终定位到原因,这一步步的分析流程可以形成一个套路流程以供参考。
2023-03-21 20:20:00
1513
3
原创 swap、swappiness以及kswapd
内存回收也不是越多越好,预留更多的内存换来的代价可能是更多的cache清除或者压缩更多的数据至swap分区,也会明显对用户体验造成影响。一切的调整既要保证性能,也要应付用户或者系统申请的页面分配请求,达到一个平衡的情况。以上这些只学习了swap、swappiness以及kswapd的基础概念,真正遇见了实际问题还是要结合代码去解决,学习概念只是为了自己在碰到问题时能有基础的概念,了解往哪个方向进行分析而不会一头雾水。
2023-03-15 18:13:53
1677
原创 Android13 PMS安装浅析
在网上找了很久PMS的流程,原本想偷个懒借鉴一下他人的成果,结果找到的都是之前版本的代码,那么就自己写一篇叭T T。
2023-03-03 13:51:40
1343
原创 AndroidT(13) WMS启动流程
再看启动流程之前,我们先来了解一下WMS,他的全称是WindowManagerService。顾名思义,也就是窗口管理的服务类。
2022-11-14 10:18:12
1335
原创 AndroidT(13) AMS启动流程
上一篇文章中,我们分析了Zygote的启动流程,不知道大家有没有注意到在zygote.main函数中有这样一段代码
2022-11-11 11:42:15
1195
原创 Linux IO读写相关
同步:正在进行的两个任务相互依赖,其中一个任务完成了,也需要等被依赖的另外一个任务完成才能够继续进行或者完成。这两个任务将具有同步性,要么同时完成要么同时失败。异步:两个正在进行的相互依赖任务,其中一个任务如果完成了,那么它就算整个任务完成了而不需要等待另一个任务一起完成。这两个任务无法对对方进行“监测”。
2022-11-07 16:30:02
539
原创 cpu参数调优
在手机上,我们可以进入adb shell查看cpu相关信息,例如在/sys/devices/system/cpu目录下可以看到你的CPU有几个核心,如果是双核,就是cpu0和cpu1,如果是四核,还会加上cpu2和cpu3,像我们手中现在这部手机就是八核的。可以进入present查看设备最多支持多少个CPU可以进入online查看哪些CPU在线,反之也可以进入offline查看不在线的CPU。
2022-11-03 20:42:57
6068
原创 Android11 VolumeUI总结
SystemUI中有很多的模块,在之前的篇章里已经对有的模块进行了分析,这次我们来看到VolumeUI。
2022-09-29 09:46:20
528
原创 Android11 Keyguard启动浅析
在Android系统中,Keyguard已经是和SystemUI同级别的一个大类,我们今天浅浅的分析一下它的启动流程。
2022-09-14 15:03:19
1315
原创 StatusBar浅析
从结构上来说,下拉菜单和状态栏都属于StatusBar,在Android9.0之后,可以对状态栏进行变色操作或者添加图标,真正实现了自定义!
2022-09-11 16:41:44
593
原创 Android11powerUI分析
showWarnOnThermalShutdown()如下,当你不是第一次开机时,而且上次关机的原因是热熔断时,将会弹出警告窗口告知上次关机的原因时手机过热。对于大部分SystemUI来说,启动的第一步我们都需要找到start()方法,然后根据里面的内容走下去,这样会轻松很多,流程比较清晰。其中,updateBatteryWarningLevels()方法如下`
2022-09-09 17:44:27
280
原创 Android11进行下拉快捷功能qs的增加
在网上有很多的文章,但是他们或多或少都有自己的问题,有的是版本太老了现在已经用不了,所以决定自己写一个。
2022-09-09 10:33:08
1008
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人