我是android-phonegap應用程序開發的新手。我想在服務器中顯示來自數據庫的學生詳細信息。當我嘗試連接數據庫時,它顯示我「在eclipse IDE中跳過了33幀!應用程序可能在其主線程上做了太多工作」。Phonegap-Skipped 33 frames!該應用程序可能在其主線程上做了太多工作
請給我解決方案或建議,如果有的話。
我是android-phonegap應用程序開發的新手。我想在服務器中顯示來自數據庫的學生詳細信息。當我嘗試連接數據庫時,它顯示我「在eclipse IDE中跳過了33幀!應用程序可能在其主線程上做了太多工作」。Phonegap-Skipped 33 frames!該應用程序可能在其主線程上做了太多工作
請給我解決方案或建議,如果有的話。
這是因爲android的編舞者沒有獲得執行正確顯示所需的資源,因此跳過幀。
這主要發生在用戶在主線程中執行繁重操作時,請記住Android是單線程系統,其中所有其他子系統都掛鉤以執行任務(例如Activities,Services,Content Providers)的單主線程。這就是爲什麼當你直接在主幹上執行網絡操作時,你會得到應用程序無響應消息。
要詳細說明您的情況,請執行以下操作。
如果你在主線程正在做的任何網絡操作,將它們移到一個單獨的線程,在Android原生我們的AsyncTask的是,試圖找到線程機制的PhoneGap
如果您有任何重操作,如位圖等的壓縮,通過螺紋或後運行的邏輯有效地處理他們,這將確保你的主線程是免費的,簡單的任務,如代事件等的顯示處理的
在感覺,a可能需要一些時間的邏輯,將其移至線程,這將確保您的顯示順暢運行。
希望它有幫助。
做你的數據庫或服務器的交互像下面
this.cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
// Place your Database and Network related code here
//
}
});
希望這有助於你。
我正在使用基於Web的應用程序 - 即phonegap和我得到這個問題..我不知道如何解決它? – GMan
請注意,「使用主/ UI線程」與「單線程」不同:Android支持多線程。除此之外,+1 – DarkDust