这个流程真的复杂,大佬牛皮!!!
深入理解Android 之 Activity启动流程在进阶Android的路上,了解理解一个应用根Activity启动流程可以作为一个切入点,由此展开进阶之路。平时我们开发的应用都是展示在Android系统桌面上,这个系统桌面...
这个流程真的复杂,大佬牛皮!!!
深入理解Android 之 Activity启动流程在进阶Android的路上,了解理解一个应用根Activity启动流程可以作为一个切入点,由此展开进阶之路。平时我们开发的应用都是展示在Android系统桌面上,这个系统桌面...
感谢辉哥
Android 进阶之旅 - 效能优化新年的第一篇文章,没想到自己又回来了,经过慎重的考虑还是决定再讲一期《效能优化》。虽然去年刚发表过 《以后,江湖再见了》[https://www.jianshu.com/p/...
新年的第一篇文章,没想到自己又回来了,经过慎重的考虑还是决定再讲一期《效能优化》。虽然去年刚发表过 《以后,江湖再见了》[https://www.jianshu.com/p/...
前言 在写 2019 年终总结时,我默默规划了下 2020 年的目标,其中一项就是:Android 进阶路线知识图谱 star 破 1k。 结果呢? 结果新年才过了 3 天,...
MainActivity 使用 postSticky 的时候,会把 Event 保存起来:
public void postSticky(Object event) {
synchronized (stickyEvents) {
stickyEvents.put(event.getClass(), event);
}
// Should be posted after it is putted, in case the subscriber wants to remove immediately
post(event);
},这个就不会丢失了。
在 SecondActivity 调用 register 的时候,
if (subscriberMethod.sticky) {
if (eventInheritance) {
// Existing sticky events of all subclasses of eventType have to be considered.
// Note: Iterating over all events may be inefficient with lots of sticky events,
// thus data structure should be changed to allow a more efficient lookup
// (e.g. an additional map storing sub classes of super classes: Class -> List<Class>).
Set<Map.Entry<Class<?>, Object>> entries = stickyEvents.entrySet();
for (Map.Entry<Class<?>, Object> entry : entries) {
Class<?> candidateEventType = entry.getKey();
if (eventType.isAssignableFrom(candidateEventType)) {
Object stickyEvent = entry.getValue();
checkPostStickyEventToSubscription(newSubscription, stickyEvent);
}
}
} else {
Object stickyEvent = stickyEvents.get(eventType);
checkPostStickyEventToSubscription(newSubscription, stickyEvent);
}
}
,eventInheritance 默认是 ture,如果发现 stickyEvents 里面保存的Event 有当前的 Activity 所注册的 Event 父类(当然,还有别的其他情况,查看:isAssignableFrom 这个方法),那么就去出来,让当前类去执行。而此时,SecondActivity 已经 onCreate 好了,Toast 才可以正常显示。
EventBus简单的使用前言:因为用到了第三方SDK,想用Bundle传递数据,发现里面的类没有序列化根本不行啊,所以就用了EventBus来传递数据,在此记录一下吧。一:添加依赖首先我们需要在主项...
简介 项目里一直使用dialog,最近才发现谷歌早就推出了DialogFragment,由于平常写项目需求基本也都是继承dialog重写,发现使用DialogFragment...
Dialog对话框是android常用的基础视图组件之一,本文总结了对话框常用的几种样式,以及自定义视图和带动画效果的对话框 Dialog虽然可以显示到屏幕上,但是Dialo...
前言 V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用 让人激动的是,在上个月V- Layout终于在G...
本篇文章已授权微信公众号 hongyangAndroid (鸿洋)独家发布 背景 当一个项目经过N手人开发,N个产品经理的蹂躏,N长时间的维护,此时一定存在大量代码冗余、业务...
AOP:面向切面编程(Aspect-Oriented Programming)。如果说,OOP如果是把问题划分到单个模块的话,那么AOP就是把涉及到众多模块的某一类问题进行统...
@very_mrq 我在 build 里面没有找到,通过 debug 打断点,可以看到确实有这么个文件,但不晓得怎么保存下来。
gradle超详细解析*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 一、为什么要学gradle Android studio已经出来很久了,相信大部分公司都已经从eclip...
请教一个问题,build.gradle 编译之后会生成 class 文件,是一个 script 的类,这个 class 文件有没有办法能拿到?
gradle超详细解析*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 一、为什么要学gradle Android studio已经出来很久了,相信大部分公司都已经从eclip...
牛 啤
Gradle开发快速入门——DSL语法原理与常用API介绍说明 本文主要从实现原理和代码层面介绍Gradle开发相关知识。关于本文中提到的、Gradle中的基本概念等内容,可参考 Android Gradle配置快速入门http:/...
说明 本文主要从实现原理和代码层面介绍Gradle开发相关知识。关于本文中提到的、Gradle中的基本概念等内容,可参考 Android Gradle配置快速入门http:/...