嘿傢伙,我創建了一個動態壁紙,它將用戶選擇的文件作爲背景圖像。Android動態壁紙服務不被破壞
我遇到的問題是,當我點擊'設置壁紙'它開始我的壁紙服務,然後如果我回到我的活動壁紙,再次單擊'設置壁紙',它似乎並沒有關閉以前的服務,但也運行另一個。這意味着每次點擊「設置壁紙」時,用戶SD卡中的圖像被讀入Bitmap變量,並增加每次使用的內存,最終引發OutOfMemoryError。
我的onDestroy()方法取消了所有位圖引用並且沒有System.gc(),但是在這種情況下,似乎服務在設置相同的壁紙時並未被破壞。例如,如果我有我的壁紙設置,然後選擇設置'銀河'動態壁紙,這會破壞我的壁紙服務,但是當再次設置我的壁紙時,它不會破壞原來的服務。
有沒有人遇到過這個?有沒有不同的方法,我應該廢除和垃圾收集?任何幫助將非常感激。
謝謝,
威廉。
你可以完全寫出一個方法嗎? – GAAAN 2018-01-06 01:48:55