如何理解Android中的Context寺鸥,它有什么用窿撬?
Context提供了一個(gè)應(yīng)用的運(yùn)行環(huán)境拴鸵,通過(guò)這個(gè)上下文應(yīng)用才可以訪問(wèn)資源展融,才能完成和其他組件、服務(wù)的交互渔工。它就是一個(gè)調(diào)用者和具體實(shí)現(xiàn)的橋接锌钮。
Paste_Image.png
Application(或者Service)和Activity都可以調(diào)用Context的startActivity方法,那么在這兩個(gè)地方調(diào)用startActivity有區(qū)別嗎引矩?
Application(或者Service)需要給Intent設(shè)置Intent.FLAG_ACTIVITY_NEW_TASK才能正常啟動(dòng)Activity梁丘,這就會(huì)引出Activity的Task棧問(wèn)題
activity前臺(tái)是在棧里創(chuàng)建的侵浸,后臺(tái)service是不在所屬activity的棧里,所以如果service要進(jìn)行activity跳轉(zhuǎn)氛谜,需要給跳轉(zhuǎn)的activity前臺(tái)新建一個(gè)存儲(chǔ)activity前臺(tái)的棧掏觉。即以new task方式。不過(guò)我覺(jué)得可以用啟動(dòng)模式為new task的方式值漫,而不用加flag澳腹。
Context的實(shí)例是什么時(shí)候創(chuàng)建的?一個(gè)應(yīng)用里面會(huì)有幾個(gè)Context的實(shí)例杨何?
一個(gè)應(yīng)用里面有1+多少個(gè)activity+多少個(gè)service 個(gè)context