240 发简信
IP属地:湖北
  • 建议去瞅瞅hotspot对reference和art实现的差异

    谈谈 LeakCanary 原理 --标准答案

    内存泄漏传统意义上的内存泄漏是至忘记手动释放内存,导致未释放的内存不可使用的现象。 jvm 的内存泄漏jvm的内存泄漏指的是我们本不再需要的内存,躲过了垃圾回收的现象。and...

  • 电容屏可实现对人体电流的感应定位到具体触摸位置,(巴拉巴拉硬件驱动巴啦啦),进入代码,
    ss进程启动会启动ims,而ims会创建epoll监听非阻塞pipe并创建irt idt,android所有的设备操作都会在/dev/input目录产生节点,外部设备的插拔也会导致节点的删除增加,linux提供INotify提供监听文件的变化并写入到inotifyFd描述符对应对象中,利用epoll监听inotifyFd可实现没输入则休眠,有输入则立刻监听对应信息并生成对应对象发送给idt内的队列并唤醒(idt无数据时则休眠),当idt队列内有数据时(这部分和Handler机制几乎一致),则通过socket沟通ams并通过binder分发给应用,剩下的就是binder InputEventReceiver等分发一直到activity

    那天有人问我,Android 的事件到底是怎么来的?

    本文主要针对的是 我们认为的事件分发 之前的流程,也就是说事件是怎么来的?一路又是怎么走下去的? 那为什么要研究事件的来龙去脉呢?其实我写本文之前是知道事件是以下的这种走向传...

  • 这2个小时有点浪费了

    花了两个小时写的自定义Toast

    该自定义Toast 可以指定Toast 背景色,文本大小,文本颜色,是否在文本左侧显示logo,logo大小以及logo在文本左侧多远 废话不多说上代码 贴代码 packag...

  • @疯狂的哈丘 通俗易懂就是重入锁调用tryLock如果是同一线程的话还是会返回true,不可重入的话就可以利用这个特性轻易判断出线程是否在运行状态,如果不是运行状态获得锁直接可以停止,如果调用shutdownNow的话简单地说就是直接interupt强硬打断线程获得锁状态

    深入分析java线程池的实现原理

    简书 占小狼[https://www.jianshu.com/users/90ab66c248e6/latest_articles] 转载请注明原创出处,谢谢! 2019/...

  • stub还是什么其他的并没有太大意义,aidl也不过就是个标准而已,我只需要在client server随便找个类继承Binder实现onTransact,客户端直接操作iBinder,直接用transact和onTransact利用Parcel通信就行了。。。拿aidl面试,和问String str=new String("abc")问一个人有没有了解过jvm运行时内存一样。。R大早就批评过了

    Android面试一天一题(Day 36:AIDL)

    上一章节,我们讲到了Android中的Binder机制,一个Android开发天天用到,但又不明就理的神密存在。这一节接着Binder这个话题,讲一讲AIDL,让大家对Bin...

  • 通俗易懂,不过作者好像也有点儿吃力。哈哈哈哈

    ActivityManagerService启动过程(基于android 8.0)

    下边这个图是7.0 的 1.看得出AMS 实现了看门狗(Watchdog.Monitor)以及电量监控(BatteryStatsImpl.BatteryCallback) 接...

  • 这种方案不行了,已经被打上@hide了

    Activity插件化原理第一种方案:Hook Instrumentation

    温馨提示:阅读本文需要15-20分钟(一大波代码)公众号:顾林海(每天更新优质文章) 今天,我们来解决一个问题: Activity插件化原理第一种方案:Hook Instru...

  • vm是不持有view的,这封装不是很符合mvvm模式的思想

    Android 全新MVVM框架搭建

    闲话不多少,还是老套路,处理一个登陆的业务。详细的介绍MVVM我就不多说了,网上一大把,毕竟吹水还是我的弱项。主要实现的功能有两个输入框,一个登陆按钮,两个TextView显...