這個流程真的復雜悬而,大佬牛皮D弥睢L诿础略就!
深入理解Android 之 Activity啟動流程在進階Android的路上踩娘,了解理解一個應用根Activity啟動流程可以作為一個切入點擒贸,由此展開進階之路联逻。平時我們開發(fā)的應用都是展示在Android系統桌面上毅戈,這個系統桌面...
這個流程真的復雜悬而,大佬牛皮D弥睢L诿础略就!
深入理解Android 之 Activity啟動流程在進階Android的路上踩娘,了解理解一個應用根Activity啟動流程可以作為一個切入點擒贸,由此展開進階之路联逻。平時我們開發(fā)的應用都是展示在Android系統桌面上毅戈,這個系統桌面...
感謝輝哥
Android 進階之旅 - 效能優(yōu)化新年的第一篇文章苹丸,沒想到自己又回來了,經過慎重的考慮還是決定再講一期《效能優(yōu)化》竹祷。雖然去年剛發(fā)表過 《以后谈跛,江湖再見了》[http://www.reibang.com/p/...
新年的第一篇文章,沒想到自己又回來了塑陵,經過慎重的考慮還是決定再講一期《效能優(yōu)化》感憾。雖然去年剛發(fā)表過 《以后,江湖再見了》[http://www.reibang.com/p/...
前言 在寫 2019 年終總結時咱旱,我默默規(guī)劃了下 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赘阀,如果發(fā)現 stickyEvents 里面保存的Event 有當前的 Activity 所注冊的 Event 父類(當然,還有別的其他情況脑奠,查看:isAssignableFrom 這個方法)基公,那么就去出來,讓當前類去執(zhí)行宋欺。而此時轰豆,SecondActivity 已經 onCreate 好了,Toast 才可以正常顯示齿诞。
EventBus簡單的使用前言:因為用到了第三方SDK酸休,想用Bundle傳遞數據,發(fā)現里面的類沒有序列化根本不行啊祷杈,所以就用了EventBus來傳遞數據斑司,在此記錄一下吧。一:添加依賴首先我們需要在主項...
簡介 項目里一直使用dialog但汞,最近才發(fā)現谷歌早就推出了DialogFragment宿刮,由于平常寫項目需求基本也都是繼承dialog重寫,發(fā)現使用DialogFragment...
Dialog對話框是android常用的基礎視圖組件之一私蕾,本文總結了對話框常用的幾種樣式僵缺,以及自定義視圖和帶動畫效果的對話框 Dialog雖然可以顯示到屏幕上,但是Dialo...
前言 V- Layout 是阿里出品的基礎 UI 框架容贝,用于快速實現頁面的復雜布局自脯,在手機天貓 Android版 內廣泛使用 讓人激動的是,在上個月V- Layout終于在G...
本篇文章已授權微信公眾號 hongyangAndroid (鴻洋)獨家發(fā)布 背景 當一個項目經過N手人開發(fā)茂缚,N個產品經理的蹂躪戏罢,N長時間的維護,此時一定存在大量代碼冗余脚囊、業(yè)務...
AOP:面向切面編程(Aspect-Oriented Programming)龟糕。如果說,OOP如果是把問題劃分到單個模塊的話悔耘,那么AOP就是把涉及到眾多模塊的某一類問題進行統...
@very_mrq 我在 build 里面沒有找到讲岁,通過 debug 打斷點,可以看到確實有這么個文件,但不曉得怎么保存下來缓艳。
gradle超詳細解析*本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發(fā)布 一校摩、為什么要學gradle Android studio已經出來很久了,相信大部分公司都已經從eclip...
請教一個問題阶淘,build.gradle 編譯之后會生成 class 文件衙吩,是一個 script 的類,這個 class 文件有沒有辦法能拿到溪窒?
gradle超詳細解析*本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發(fā)布 一坤塞、為什么要學gradle Android studio已經出來很久了,相信大部分公司都已經從eclip...
牛 啤
Gradle開發(fā)快速入門——DSL語法原理與常用API介紹說明 本文主要從實現原理和代碼層面介紹Gradle開發(fā)相關知識。關于本文中提到的宛瞄、Gradle中的基本概念等內容浮禾,可參考 Android Gradle配置快速入門http:/...
說明 本文主要從實現原理和代碼層面介紹Gradle開發(fā)相關知識。關于本文中提到的坛悉、Gradle中的基本概念等內容伐厌,可參考 Android Gradle配置快速入門http:/...