首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
迷你球
掘友等级
Android系统工程师
|
广州
未必是人好,只是没机会放荡。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
4
文章 3
沸点 1
赞
4
返回
|
搜索文章
最新
热门
Android input之IMS初始化
在input子系统中,有两个主要角色,reader和dispatcher。前者通过EventHub读取input事件,然后将读取到的事件封装成rawevent放到queue中,而后者则是从该queue中拿rawevent并进行消费,对该事件进行分发,决定是否将该事件传递给应用。…
Android10.0应用安装白名单---添加签名校验
为了避免系统被安装上各种各样的app,客户要求系统需要有个安装白名单的功能。 白名单功能主要是通过确认要安装的应用是否在白名单上,如果不在,则不允许安装。筛选的标准可以通过包名进行判断。但单纯包名进行判断还是不够安全,这里是想再加个签名校验的机制,毕竟每个签名都是独一无二的。 …
基于Android10.0适配应用界面--修改系统源码
原始的需求是这样的,客户会在系统中预装多个应用,但某些应用是没有经过适配的,客户要求的像素密度是160,但某些应用在该像素密度下显示会显得很小。客户不想改应用,要求在该160的像素密度下,也要能够正常显示应用。 初期是通过adb shell指令进行切换测试的。经测试,这些在16…
内核notifier机制的应用
最近在Android10.0系统上调试TP驱动,需要增加双击唤醒功能。so easy,在驱动的suspend和early_suspend接口中获取系统待机标志,然后在触摸事件处理函数上根据该标志位进行判断,如果已经待机,则上报POWER事件,如果正常工作状态,则上报触摸事件。 …
Android studio项目添加c++文件
如果不想引用so文件,想要直接在AS中实现native方法也是可以的。此时需要在项目中添加cpp文件,且需要做相关的配置,下面详细说明。 要想在AS中编译cpp文件,则需要下载NDK和安装cmake工具,否则无法使用。 按如上点击,找到SDK Tools,就可以看到一系列的工具…
Android9.0针对Toast的特殊处理
我们都清楚,Toast显示时长有两个选择,长显示是3.5秒,端显示是2秒。那如果想要做到长时间显示,该怎么做呢?有个历史遗留的app通过开一个线程,不断调用show方法进行实现,这些年也没出过问题,直到系统版本更新到了Android9.0。实现方式大概如下: 在Android9…
Android View 的显示
我们通过startActivity方法来启动一个activity,宏观上来看,当我们调用该方法的时候,APP就启动了,整个界面显示,此时可以开始交互,点击或滑动。但系统在其中做了不少动作,创建进程,创建Application,创建Activity,利用AMS对activity进…
Activity是如何创建出来的?(下)
当我们调用startActivity方法来启动某个Activity时,系统需要根据该Activity所在进程是否存在而做不同的处理,如果不存在,则需要AMS通过socket向Zygote大佬发起进程fork的请求,接着再从fork出来的子进程中run对应APP进程的Activi…
Activity是如何显示出来的?(上)
如题所示,Activity是如何显示出来的呢?简单,调用startActivity就可以启动目标Activity了。很方便,但其实也隐藏了很多细节。startActivity后发生了什么事?怎么一个简单的接口就能启动一个界面,且该界面所在进程还未启动过。本篇文章承接《我是怎么把…
浅谈Binder
最近沉迷于Android源码中无法自拔,只是苦于内功浅薄,很多东西看得云里雾里。起初对Android图形系统比较感兴趣,一头扎进去,不到片刻,就再也找不到“线头”。原因之一在于Android在启动一个activity到从LCM中显示出来图像,使用了大量的Binder通讯,各种I…
下一页
个人成就
文章被点赞
66
文章被阅读
68,192
掘力值
1,256
关注了
12
关注者
49
收藏集
5
关注标签
15
加入于
2020-02-22