關於啟動模式中的問題

2022-08-22 02:09:13 字數 1190 閱讀 3929

startactivityforresult的問題

a,b,c的啟動模式都是預設的

activity a 啟動了activity b,activity b又啟動了c,a-->b-->c, 這種情況下,a啟動b要求b返回result給a

如上圖所示,intent設定了intent.flag_activity_forward_result標誌,那麼此時將會交由c向a setresult。為了避免衝突,b啟動c時不得指定resultrecord>=0。

activityrecord sourcerecord = null

; activityrecord resultrecord = null

;

if (resultto != null

) }

}int launchflags =intent.getflags();

if ((launchflags&intent.flag_activity_forward_result) != 0

&& sourcerecord != null

) resultrecord =sourcerecord.resultto;

resultwho =sourcerecord.resultwho;

requestcode =sourcerecord.requestcode;

sourcerecord.resultto = null

;

if (resultrecord != null

)

a-->b

如果a和b不在同乙個task中,那麼startactivityforresult將返回result_canceled

如果啟動的activity需要新的task,那麼新啟動的activity將會與其caller斷開依賴關係,這個關係主要是指result反饋,a-->b,如果a是通過startactivityforresult()請求啟動的,並且requestcode >=0,那麼如果b是在新的task中,那麼b在finish的時候將不再向a反饋result,而是在啟動過程中就會向a反饋乙個result_canceled。

if (r.resultto != null && (launchflags&intent.flag_activity_new_task) != 0)
摘自

關於Activity啟動模式

1 常規的四個啟動模式 standard,singletop,singletask,singleinstance 2 通過intent.setflag 方式同樣可以達到設定啟動模式的效果 當乙個activity起到的作用只是乙個中轉作用,並不需要留下什麼痕跡 例如儲存在任務棧中 如果不做處理,當系統...

關於從NAND Flash啟動的問題

椐了解 nor flash 是容量小,速度快,穩定性好,適合做程式儲存器。nand flash 總容量大,適合做資料儲存器是不能從nand flash啟動的,nand flash是的讀寫時序是不能直接有arm硬體產生的,要讀寫nand flash是要通過程式來實現的,很明顯能看出來的就是nand f...

關於Hadoop集群啟動的問題

在hadoop集群啟動的問題上,耗費了很多的時間,具體參考 我所要說的是,在啟動hadoop集群前,千萬千萬要記住,先關閉每台電腦的防火牆,否則會出現連不上集群的情況,在啟動集群後,若是電腦沒關,下一次啟動。只需要start dfs.sh和start mapred.sh即可,否則出現datanode...