Android的模擬器,在ADT中除錯執行AVD時,速度太慢,極其的慢
http://www.crifan.com/android_emulator_run_too_slow_in_debug_mode/
【問題】
雖然當前主機配置很高:
Intel的i5的4核 + 8G記憶體 + SSD的硬碟
Eclipse的ADT,除錯程式碼時,所執行的AVD模擬器,速度極其的慢。
載入到主介面,也要個幾分鐘。
每次除錯一次,都得等半天,煩死了。
【解決過程】
1.一搜,網上果然N多人遇到同樣問題。
2.參考:
去修改對應的AVD:
把記憶體改為2G,再把snapshot選上:
然後去試試效果,結果點選除錯,無法啟動AVD了,詳細折騰過程參見:
其結果是:
即使可以手動修改,繞過bug,使得設定為1024MB,但是實際的執行速度,還是很慢。
啟動一次,要等個很多分鐘,還是不能接受的慢。
3.另外之前那個帖子中提到了有個:
據說速度極快。幾乎完美。有空可以試試。
4.另外,有空再參考其中的:
去試試,貌似會有效果的。
5.好像後面提到的這些:
更加有用。是android官網的解釋。
所以,看來還是,參考:
去從頭到尾,好好看看。
其中,有待後期注意的是:
(1)此處我裝了VirtualBox,據文件說,需要先解除安裝VirtualBox,否則會影響此處的虛擬化加速的;
(2)需要是x86的Image,不能是arm的Image;
去確認一下,果然之前的AVD都是for ARM的:
所以,去新建一個x86的。
6. 但是結果卻發現,無論選擇哪個Device,結果Target基本都是Android 4.2,然後坑爹的是CPU/ABI都是ARM,而且無法更改:
教程是說,選先選Target,然後再選CPU/ABI,但是此處Target只有 Android 4.2,沒有其他可選的啊;
而且無論如何,CPU/ABI都還是灰色的,無法改的。。。
然後也去試過了,新建Device:
然後再去新建AVD,用這個新建的try_x86,結果還是無法更改CPU:
後來才想起來,好像是當前的“System Image”是ARM的,所以,需要重新安裝一個X86的“System Image”。
7.所以去使用Android SDK Manager去安裝X86的System Image,詳細過程參見:
8.等安裝完畢了對應的X86的Image後,然後才可以去建立x86的AVD的。
9.然後再去下載並安裝Haxm (Intel Hardware Accelerated Execution Manager),詳細過程參見:
10.驗證安裝haxm成功後,把之前建立的X86的AVD,設定為啟動裝置,然後啟動除錯,看看效果。
結果,此時發現,此處的之前建立的x86_480x800的AVD,竟然出錯了,說是啥Unknown Target,折騰過程參見:
11.繼續去,先設定好上述的X86的AVD為啟動裝置,然後去除錯:
看看是否速度有提升。
結果log中顯示出一行紅色字型:
hax is working and emulator runs in fast virt mode
最後自己數了數,從點選Debug到最後看到Android的AVD的主介面:
大概花了12秒,算是比較快了。
至少和之前按分鐘算的那個速度,有天壤之別了。
【總結】
至此,貌似基本算是成功了,成功的,加速了Android模擬器的除錯的速度。
從大概多少分鐘,到12秒左右。
雖不完美,但已基本可以接受了。
提示:
1.此處我沒用那個snapshot;
2.後續除錯時,已明顯感覺到,模擬器執行程式,除錯程式碼等等的速度,的確是明顯快多了。爽就一個字。哈哈哈。
提示:
1.根據網友stophin的經驗:如果CPU不支援VT-x的話,HAXM是安裝不上的。請小夥伴自行注意。
相關推薦
Android的模擬器,在ADT中除錯執行AVD時,速度太慢,極其的慢
http://www.crifan.com/android_emulator_run_too_slow_in_debug_mode/ 【問題】 雖然當前主機配置很高: Intel的i5的4核 + 8G記憶體 + SSD的硬碟 Eclipse的ADT,除錯程式碼時,所執行
android開發之android:process屬性_application中onCreate執行多次
應用做的匆忙,很多地方只顧實現功能,沒有兼顧好效能,所以停下來重構程式碼優化效能,結果在打log看啟動時間的時候,發現Application的onCreate執行了多次,這樣導致重複初始化資源,初始化了
Android模擬器Genymotion新增ARM程式執行環境的方法
搞開發也很多年了,還是第一次寫blog,給自己留一些記錄吧 自從用了Genymotion這個號稱快到極致的Android模擬器以後,很多時候除錯程式都不想用真機了,SDK帶效率低下的官方模擬器因為效率太低也放棄了(據說可以通過配置來改進一直沒去嘗試過) 通過模擬器和hier
解決ofbiz在myeclipse中除錯執行時報錯:Can't find bundle for base name cache
錯誤資訊:Can't find bundle for base name cache Set OFBIZ_HOME to - E:/develop/ofbiz/apache-ofbiz-09.04/apache-ofbiz-09.04 Admin socket not con
向資料庫中插入日期時間datetime型別資料,資料庫中只有日期沒有時分秒
java.util.Date是不能直接插入資料庫中的,雖然它包含了日期和時分秒。 java.sql.Date可以直接插入資料庫,但是它只有日期而沒有時間; java.sql.Time可以直接插入資料庫,但是它只有時間,沒有日期 Java
轉,Oracle中關於處理小數點位數的幾個函式,取小數位數,Oracle查詢函式
關於處理小數點位數的幾個oracle函式() 1. 取四捨五入的幾位小數 select round(1.2345, 3) from dual; 結果:1.235 2. 保留兩位小數,只舍 select trunc(1.2345, 2) from dual; 結果:1.23 select trun
eclipse專案中當使用註解時找不到類,
今天遇到一個奇怪的問題,在pom.xml 中匯入下面的jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s
多執行緒——設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒對j每次減少1。寫出程式。
package com.com.aaa.addreduceThread; public class ThreadDemo { private int j=1; //每次新增1
二叉樹先序後序遞迴建立,前中後序層次非遞迴遍歷,以及統計葉子結點個數以及樹的深度
下面的程式碼實現了二叉樹的先序或者後序遞迴建立,然後實現了二叉樹的非遞迴的先序中序後序遍歷,還有層次遍歷,以及統計樹的葉子結點個數和樹的深度。其中非遞迴的先中後序遍歷用到了鏈棧,層次遍歷用到了佇列。 程式設計平臺為Visual Studio 2012,語言為C,但不是純C,
iOS開發之swift與OC混編出現的坑,oc中不能對swift的代理進行呼叫,不能訪問swift中的代理,swift中的回撥方法
1. swift與oc混編譯具體怎麼實現,這兒我就不重複講出了,網上有大把的人講解。 2. 在swift與OC混編的編譯環境下, oc類不能訪問swift建立類中的代理? 解決方法如下: 在代理的頭部加上 @objc(代理名字),這樣就在外部就可以訪問了,如下圖。 然
Qt中使用執行緒時的注意事項(執行緒沒起作用的原因)
今天偶然發現,執行程式時程式輸出視窗中有如下提示: QObject::startTimer: Timers can only be used with threads started with QThread 也就是當物件有父物件時,是不可以移到其他執行緒當中去的。 程式
C++初始化列表問題,類中有一個物件型別的陣列成員變數,在初始化列表中初始化時報錯“[]”操作符語法錯誤
陣列作為成員變數時只有預設初始化,也就是無法傳遞引數。有兩種變通方案:你可以把物件陣列改成指標陣列,或者把ClassB類的構造和初始化分開。 方案一: class ClassA{ private: ClassB* arrayOfObjectClassB[2];
面試題之:設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒對j每次減少1。寫出程式。
設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒對j每次減少1。寫出程式。 * 注:因為這4個執行緒共享J,所以執行緒類要寫到內部類中。加執行緒:每次對j加一。減執行緒:每次對j減一。 public class TestThreads { private i
一個整形陣列中有正數也有負數,陣列中連續一個或多個組成子陣列,每個子陣列都有一個和,求所有子陣列中和的最大值
本文只作為學習筆記,如若侵權請告知,一定及時刪除 題目 輸入一個整型陣列,數組裡有正數也有負數。陣列中一個或者連續的多個整陣列成一個字陣列。求所有字陣列的和的最大值。要求時間複雜度為O(n)。例
JAVA多執行緒設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒對j每次減少1。
最新在看一些執行緒方面的問題,也找一些題目來練手,看到一套題,JAVA設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒
C#屏蔽Alt+F4,解決Alt+F4關閉窗體時對話框NO後,線程不退出問題
按鍵 是否 tar span hand handle 系統 code view //1.將窗體的屬性KeyPrieview設置為true //keypreview屬性為true的時候,就可以響應鍵盤事件v //2.在窗體KeyDown事件中加如下代碼 private v
7.1 多媒體音量往遞減調節時,聲音變小的速度太快,調節不均勻。
1.R . K平臺上一般硬體音量最大與最小已設為最大增益與靜音。 2.Android 的音量調節主要依靠軟體實現,具體可以看: /hardware/rk29/audio/AudioPolicyManagerBase.cpp 的 computeVolume 函式,該函式基本原理 3.就是每種音
Android Studio使用過程中Java類突然報紅,但專案可執行解決方法
Studio也有不穩定的時候,比如電腦自動的關機,或者停電導致的電腦直接關機等,再開啟電腦後,接著開啟Studio也許專案中就是不片紅,重啟和Build、clean、make project都不行,最後才知道是build快取的問題,網上說清空build快取之後就可以了,試了後
Android的訊息機制,用Android執行緒間通訊的Message機制,Android中Handler的使用方法
轉自:http://www.cnblogs.com/-OYK/archive/2011/08/03/2126657.html Android的訊息機制(一) android 有一種叫訊息佇列的說法,這裡我們可以這樣理解:假如一個隧道就是一個訊息佇列,那麼裡
Android模擬器加速,BIOS中VT-x選項不可改,Intel硬體加速軟體的安裝
對於解決Android模擬器在Intel平臺的電腦上啟動慢的問題,Intel提供了硬體加速軟體HAXM。 安裝此軟體首先要電腦的硬體支援VT-x技術,安裝中爆出錯誤: 但我的電腦上並沒有網上說的在