這個流程真的復(fù)雜区匠,大佬牛皮!!枉圃!
深入理解Android 之 Activity啟動流程在進(jìn)階Android的路上,了解理解一個應(yīng)用根Activity啟動流程可以作為一個切入點(diǎn)庐冯,由此展開進(jìn)階之路孽亲。平時我們開發(fā)的應(yīng)用都是展示在Android系統(tǒng)桌面上,這個系統(tǒng)桌面...
這個流程真的復(fù)雜区匠,大佬牛皮!!枉圃!
深入理解Android 之 Activity啟動流程在進(jìn)階Android的路上,了解理解一個應(yīng)用根Activity啟動流程可以作為一個切入點(diǎn)庐冯,由此展開進(jìn)階之路孽亲。平時我們開發(fā)的應(yīng)用都是展示在Android系統(tǒng)桌面上,這個系統(tǒng)桌面...
感謝輝哥
Android 進(jìn)階之旅 - 效能優(yōu)化新年的第一篇文章展父,沒想到自己又回來了返劲,經(jīng)過慎重的考慮還是決定再講一期《效能優(yōu)化》。雖然去年剛發(fā)表過 《以后栖茉,江湖再見了》[http://www.reibang.com/p/...
新年的第一篇文章篮绿,沒想到自己又回來了,經(jīng)過慎重的考慮還是決定再講一期《效能優(yōu)化》吕漂。雖然去年剛發(fā)表過 《以后亲配,江湖再見了》[http://www.reibang.com/p/...
前言 在寫 2019 年終總結(jié)時电湘,我默默規(guī)劃了下 2020 年的目標(biāo),其中一項(xiàng)就是:Android 進(jìn)階路線知識圖譜 star 破 1k鹅经。 結(jié)果呢寂呛? 結(jié)果新年才過了 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 調(diào)用 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 默認(rèn)是 ture,如果發(fā)現(xiàn) stickyEvents 里面保存的Event 有當(dāng)前的 Activity 所注冊的 Event 父類(當(dāng)然强胰,還有別的其他情況舱沧,查看:isAssignableFrom 這個方法),那么就去出來偶洋,讓當(dāng)前類去執(zhí)行熟吏。而此時,SecondActivity 已經(jīng) onCreate 好了玄窝,Toast 才可以正常顯示牵寺。
EventBus簡單的使用前言:因?yàn)橛玫搅说谌絊DK,想用Bundle傳遞數(shù)據(jù)恩脂,發(fā)現(xiàn)里面的類沒有序列化根本不行啊帽氓,所以就用了EventBus來傳遞數(shù)據(jù),在此記錄一下吧俩块。一:添加依賴首先我們需要在主項(xiàng)...
簡介 項(xiàng)目里一直使用dialog黎休,最近才發(fā)現(xiàn)谷歌早就推出了DialogFragment,由于平常寫項(xiàng)目需求基本也都是繼承dialog重寫典阵,發(fā)現(xiàn)使用DialogFragment...
Dialog對話框是android常用的基礎(chǔ)視圖組件之一奋渔,本文總結(jié)了對話框常用的幾種樣式,以及自定義視圖和帶動畫效果的對話框 Dialog雖然可以顯示到屏幕上壮啊,但是Dialo...
前言 V- Layout 是阿里出品的基礎(chǔ) UI 框架玄渗,用于快速實(shí)現(xiàn)頁面的復(fù)雜布局座菠,在手機(jī)天貓 Android版 內(nèi)廣泛使用 讓人激動的是,在上個月V- Layout終于在G...
本篇文章已授權(quán)微信公眾號 hongyangAndroid (鴻洋)獨(dú)家發(fā)布 背景 當(dāng)一個項(xiàng)目經(jīng)過N手人開發(fā)岁钓,N個產(chǎn)品經(jīng)理的蹂躪升略,N長時間的維護(hù),此時一定存在大量代碼冗余屡限、業(yè)務(wù)...
AOP:面向切面編程(Aspect-Oriented Programming)品嚣。如果說,OOP如果是把問題劃分到單個模塊的話钧大,那么AOP就是把涉及到眾多模塊的某一類問題進(jìn)行統(tǒng)...
@very_mrq 我在 build 里面沒有找到翰撑,通過 debug 打斷點(diǎn),可以看到確實(shí)有這么個文件啊央,但不曉得怎么保存下來眶诈。
gradle超詳細(xì)解析*本篇文章已授權(quán)微信公眾號 guolin_blog (郭霖)獨(dú)家發(fā)布 一、為什么要學(xué)gradle Android studio已經(jīng)出來很久了瓜饥,相信大部分公司都已經(jīng)從eclip...
請教一個問題逝撬,build.gradle 編譯之后會生成 class 文件,是一個 script 的類压固,這個 class 文件有沒有辦法能拿到球拦?
gradle超詳細(xì)解析*本篇文章已授權(quán)微信公眾號 guolin_blog (郭霖)獨(dú)家發(fā)布 一靠闭、為什么要學(xué)gradle Android studio已經(jīng)出來很久了帐我,相信大部分公司都已經(jīng)從eclip...
牛 啤
Gradle開發(fā)快速入門——DSL語法原理與常用API介紹說明 本文主要從實(shí)現(xiàn)原理和代碼層面介紹Gradle開發(fā)相關(guān)知識拦键。關(guān)于本文中提到的、Gradle中的基本概念等內(nèi)容檩淋,可參考 Android Gradle配置快速入門http:/...
說明 本文主要從實(shí)現(xiàn)原理和代碼層面介紹Gradle開發(fā)相關(guān)知識芬为。關(guān)于本文中提到的、Gradle中的基本概念等內(nèi)容蟀悦,可參考 Android Gradle配置快速入門http:/...