2012-02-16 63 views
1

MainActivity跨越一些(即4)網頁視圖CustomWebView。這個類有一個靜態方法BROADCAST向所有實例化的孩子廣播一些消息。終身視圖的靜態成員時,它的主人活動停止

  • 所以活動場景裏面,我可以做

    CustomWebView.BROADCAST (BECOME_RED) 
    

    和所有CustomWebViews會變爲紅色。

  • 一切都很好,但現在我的主要活動跨越subactivity(即選擇照片的活動)。原來的活動變得停止(其onstop()稱爲等等等等等等)

所以......現在會發生什麼,在這個新的子活動的背景下,與其父活動停止了,我應該怎麼做:

CustomWebView.BROADCAST (BECOME_RED) 
  • 我已經看到了它「作品」,但並不真正瞭解業主活動的影響而停止,我其觀點搞亂從靜態上下文訪問這些「非法」。

  • 那麼如果靜態方法訪問視圖,但唯一的非視圖相關的東西,如一個ArrayList?

  • 樣,如果靜態方法不訪問子實例,但只使用靜態變量是什麼?它是否有所不同?

  • 怎麼樣的查看對象的生命週期(靜態的東西爲主)當活動被停止?

回答

0

類的靜態成員只要加載類就會生活(同樣,只要JVM在android中運行)。但是視圖是用上下文(也是Activity)創建的,並且具有非常私密的私有關係--AFAIK,它們不應該用於多個活動。

活動停止,並不意味着它被破壞 - 它可以在以後的時間被重新激活。視圖實例倖存下來。

+0

對於遲到的接受感到抱歉,已停止了Android開發一段時間,但現在100%進入它。 Thanx的答覆! – rupps 2013-04-13 11:10:36