Android
文章平均质量分 90
以实战为前提,回顾和深入知识点。理论与实践相结合,用理论指导实践,实践产生价值。
jkwen2021
这个作者很懒,什么都没留下…
展开
-
捋一捋 Android 启动应用进程的前因后果
点击桌面应用图标后前面(Android 进阶解密阅读笔记2)已经知道启动应用程序进程是由 AMS 向 zygote 进程发起申请,后面由 zygote 进程监听处理。但一般场景下,用户只有点了桌面应用图标才会打开应用,可见 AMS 也是收到了某种响应才会发起申请。在 Android 进阶解密阅读笔记3 中我们知道启动根 Activity 最终会走到 ActivityStackSupervisor 的 startSpecificActivityLocked 方法,而这个方法中的逻辑也包含着启动应用进程,这就原创 2021-01-26 20:59:50 · 268 阅读 · 0 评论 -
WindowIsTranslucent 影响 Activity 的生命周期 onStop,求解!
前阵子项目中出问题才知道原来 application theme 里的属性 WindowIsTranslucent 设置为 true 会导致页面跳转是不走 onStop 效果如同 Activity 弹起对话框。可这个属性是如何影响到 onStop 方法的,我想从源码角度看看,但搜索了一遍发现没有类似的分析。自己试着看源码也暂时没有突破。求助各位路过的大神可否指点一二,帮助我看透这个坑爹玩意儿。...原创 2020-10-20 12:41:07 · 391 阅读 · 0 评论 -
页面销毁了,用 RxJava + Retrofit 的网络请求才回来,出现空指针异常可以这样处理
在用 RxJava + Retrofit 进行网络请求时,会碰到一个通用的问题(这个问题和技术无关,用 OkHttp 一样也会存在):在页面交互上,当请求响应比较慢,我们提前销毁页面,但当我们销毁页面后,请求结果回来了,这时会因为结果回调里去做了和页面相关的逻辑(比如给 TextView 赋值等)就会引起空指针异常。问题的本质是,页面销毁后,相关变量引用为空,继续去做了和页面相关的代码逻辑,就...原创 2020-03-20 10:28:59 · 1457 阅读 · 0 评论 -
小心 DialogFragment 会造成内存泄漏
事情是这样的,我在项目里有个自定义的 Dialog 是继承 DialogFragment 实现的,接入 LeakCanary 后经常会提示我这个地方存在内存泄漏,定位的地方也有点奇怪,是一个布局控件上。心想不应该啊,但既然报出来了,还是一探究竟。内存泄漏简单来说就是对象该销毁时没有被销毁回收,引用还被别的地方持有导致回收不掉,最后就变成了孤魂野鬼,达到一定程度就会导致 OOM 的问题了。原因追踪根据它报的位置我想难道是控件对象没被释放?于是我手动在 onDestoryView 里将控件原创 2020-05-17 10:24:00 · 1869 阅读 · 0 评论