以LeakCanary2.6源码分析LeakCanary检测内存泄露原理,为减少篇幅长度,突出关键点,不粘贴大量源码,阅读时需搭配源码食用。 如何获取context LeakCan…
ServiceManager启动 所有的系统服务都是需要在ServiceManager中进行注册的,而ServiceManager作为一个起始的服务,是通过init.rc来启动的。…
相关阅读:尝试自己实现Android View Touch事件分发流程 Android View的布局以ViewRootImpl为起点,开启整个View树的布局过程,而布局过程本身…
Android Touch事件分发是Android UI中的重要内容,Touch事件从驱动层向上,经过InputManagerService,WindowManagerServic…
启动 在Android系统启动流程中中我们提到过,AMS是在system_service中启动的, //frameworks/base/services/java/corri/an…
关于获取系统服务的猜想 Android获取系统服务一般都需要用getSystemService指定系统服务名称获取: val wm = getSystemService(Conte…
对zygote的理解 在Android系统中,zygote是一个native进程,是所有应用进程的父进程。而zygote则是Linux系统用户空间的第一个进程——init进程,通过…
Base64是传输字节码的编码,Android开发过程中,图片的加载多数是请求URL路径或者加载本地的图片,当然也有加载服务器用Base64编码过的图片,比如图形验证码。当然图形验…
一. 先简单总结一下比较常见的几个解决方案的弊端: 1. IMEI Android 10 中官方明确说明第三方应用无法获取到IMEI码:Android 10 中的隐私权变更, An…
最近在使用后端云Bmob对数据进行存储,目的是在不搭建服务器的前提下,能对Android应用的数据进行操作处理,其实这篇是比较久之前写的了,有些童鞋反馈说现在的源码会有问题,所以我…
开发过程中,年月的选择功能还是比较常见的,像这种功能点比较常见,要是每次都要自己手动去写,这无疑会耗费比较多的时间与精力,今天给大家介绍一个第三方库,使用该库来完成年月选择器功能。…
一、效果图 二、思路 算多少秒,秒数取余60,(满足分后剩下的秒数) 算多少分,秒数除60,再取余60 (总分数满足小时后剩下的分数) 算多少时,秒数除60,除60,再取余24 (…
Android Studio OkHttpClient使用教程详解
Android用viewPager2实现UI界面翻页滚动的效果