随机推荐

AccessibilityService自启动

自定义的AccessibilityService默认是关闭的,需要在无障碍界面手动打开或者自动启动。目前有两种方式可以自动启动改服务。需要修改源码或配置应用为系统应用。1、源码中修改frameworks\base\packages\SettingsProvider\src\com\androi...

Kotlin数组简介

前言简单记录一下Kotlin中数组的使用。正文数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组中存放的元素类型必须一致。数组可分为一维数组和多维数组。一维数组在Kotlin中,数组使用Array表示,其中数值类型、布尔类型、字符类型、字符...

[摘]Android异常和性能优化 - OOM异常

什么是OOMOOM全称为“Out of memory”异常,从名字上可以理解就是内存耗尽了。在android当中,android系统会给每个APP设立一个独立的工作区间,也就是Dalvik虚拟机空间,这样使每个APP在独立的空间运行而不受影响。但是android系统为每一个Dalvik虚拟机都设定...

Launcher的两次启动

前言这个问题,类似的之前也有记录过,但由于自己记性太差,又忘了怎么分析,因此重新记录于此,方便自己查阅。好记性不如烂笔头正文问题Android P机器开机启动后,发现Launcher3的Activity(也就是Launcher)启动了两次。日志只截取了部分且重要的日志Activit...

MediaPlayer源码介绍3

前言我们继续介绍MediaPlayer的源码,继《MediaPlayer源码介绍2》和《mediaserver的启动》后,MediaPlayer也进入了MediaPlayerService的接口调用中。今天我们继续以setDataSource为例,看看其在MediaPlayerService的...

Android 13framework中添加AIDL

前言添加一个Service并让应用调用,类似于获取AudioManager一样。AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);通过getSystemService()获取X...