2011-10-21 78 views
1

我有一個應用程序有幾個屏幕。假設A B C D和D可能會打開一些外部應用程序。應用程序arraylist清除

所有這些活動的共享數據,彼此一個ArrayList,我已經在我的應用類中創建對它的引用。 (我創建了一個擴展Application的類,並將其引用爲manifest。)所以這些都使用了arraylist的單個實例。從第一個屏幕開始初始化數組列表,其他人可能會修改它。

問題是,當我測試這個模擬器上沒有得到打破。但是,在3+以上的導航數據列表屏幕從堆中清除後,在「某些」手機上。無論多小。

回答

0

使用singleton類ArrayList中

-1

在聲明ArrayListstatic你的第一個Activity然後用它從任何就不會分手了。

+0

爲什麼投票可以有人解釋? – ingsaurabh

+0

那麼,靜態並不意味着這些情況對嗎?我沒有投票給你,但它可能是原因。 – Shardul

+0

@Shardul謝謝,我知道,當我們使用靜態,但我也認爲它在Android編程方面的好方法 – ingsaurabh

0

使用Singleton設計模式或使你的對象靜態

隨着Singleton設計模式,您可以:

  • 確保只有一個類的實例被創建
  • 提供一個全局訪問點對象
  • 允許在未來的多個實例,而不會影響單個類的客戶
+0

我試過了,它仍然是同樣的問題。 – Shardul

+0

分享你的代碼... – gtiwari333

+0

有4個活動,我說的和一個應用程序類,我不能共享代碼,因爲有成千上萬的線 – Shardul