簡體   English   中英

Android活動默默退出

[英]Android activity silently exiting

我的應用程序具有啟動畫面活動,並啟動主活動的意圖,其中包含openGL視圖。

一些用戶報告游戲退出並重新開始。

我確定這是一個錯誤,但它失敗了,所以我沒有得到任何崩潰報告。

是什么導致它像這樣無聲地失敗? 以這樣的方式,用戶可以看到應用程序循環並且沒有看到強制關閉窗口。

編輯:我已通過在slapsh活動的清單中放入noHistory =“true”來停止啟動畫面重新啟動。 現在用戶只是報告它以靜默方式退出。 會導致什么?!

編輯2:如果有任何線索,我最近從SDK r10更新到SDK r16,我相信我已經刪除了所有其他更改,如果可以的話我會回到r10,但我找不到辦法。

編輯1月19日:我發現了這個問題的根本原因。 在某些時候谷歌向SDK介紹了一個名為“png crush”的功能。 並且PowerVR並不總是很樂意加載這些紋理。 見我的其他問題在這里獲得更多信息和解決方案。

沒有源代碼,很難說出真正發生的事情。 嘗試在具有不同API級別的模擬器上進行調試,看看是否可以重現它。

如果你無法復制,我建議你看一下ACRABugSense 使用這些第三方崩潰報告插件非常簡單,您甚至可以手動報告靜默異常。

你在使用一些本機代碼嗎? 因為如果存在段錯誤,它會將堆棧跟蹤打印到logcat,但是它不會創建Uncought Exception(所以在這種情況下,像ACRA這樣的插件是沒用的,即使我可以推薦很多ACRA)

它確實發生在我的應用程序中,經常在開發 - 調試期間,通常是由於以下問題。

  • GPU進入內存不足狀態,因為使用VBO分配的內存太多。 這通常取決於並非總是正確釋放VBO的事實。 當它真的發生時,在我簡陋的經歷中,就像托管你的應用程序的虛擬機死了一樣。 很遺憾,您無法檢查用戶的logcat。

問題非常多變,因為它取決於GPU類型和GPU可用的內存。 例如,在我的Galaxy選項卡上,它發生在我的基本摩托羅拉Defy之后(就負載水平而言因此是VBO)。

這在故障排除中造成了很多麻煩。

:)

只有辦法重寫默認的異常行為 - UncaughtExceptionHandler 您可以創建自己的類ExceptionHandler implements UncaughtExceptionHandler ,並根據需要執行異常 - 將其發送到遠程服務器或其他。 要注冊它,您應該創建Application類:

public class YourApplication extends Application {
@Override
public void onCreate() {
    super.onCreate();
    Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this.getApplicationContext()));
    }
}

並在清單文件中注冊此類

<application 
    android:name="your.package.name.YourApplication" 
    ... >
         ...
</application>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM