因爲我被困在這個問題上,不知道我的錯誤在哪裏我需要問你們。 當我第一次啓動我的應用程序時,一切正常,但當我按下手機上的「返回」按鈕以返回主屏幕並再次啓動應用程序(由於應用程序進入睡眠狀態,這不是一個真正的新啓動程序)一個非常奇怪的行爲。Android應用程序奇怪的行爲,當從睡夢中回來
我正在使用opengles在屏幕上繪製紋理,當我觸摸紋理時會發生變化。觸摸將boolean設置爲true,表示繪製其他紋理。但是,不管怎樣,當我測試它的值時,即使它剛剛從觸摸事件寫入true時也總是錯誤的。我想知道,因爲只有當我按下手機上的「後退」按鈕纔會發生這種情況。當我用主頁按鈕返回到主屏幕,然後移回應用程序時,此事不會發生,並且一切正常。
首先,我認爲它是線程2不同線程(觸摸事件的活動渲染線程和表面視圖線程)的東西,但即使同步所有get/set方法,它仍然不起作用。我開始認爲觸摸線程的東西仍然在舊對象上運行,並且在渲染線程中的引用被新實例化的情況下改變了值,因此布爾值通過觸摸來設置,但渲染線程僅採用默認值,因爲它們變得不同反對什麼顯然不可能。
我在我的知識完了嘛,所以請賜教
編輯:嗯,我發現了錯誤...當設備來自它創造了另一個對象(紋理方)睡眠回來,然後觸摸事件發生在舊的一個沒有被刪除,並且新的被繪製。
此外,如果有人能夠告訴我什麼樣的確切方法從睡眠中回來,會很好嗎?它只是onResume還是更多?那麼引用呢,他們也會被刪除,因爲不應該創建另一個對象,我甚至測試== null,然後創建一個新的,但不知何故,這似乎是真的,當它回來
您可以發佈gl渲染器代碼以及觸摸事件中設置布爾標誌的部分嗎?它可能會幫助我們更多地解決問題 – Slartibartfast 2013-05-05 04:07:00