0

物理的な Android デバイスでアプリがどのように機能するかという点で、Android エミュレーターはどの程度正確ですか? 私は Android のアマチュア デベロッパーですが、事情により、自分で Android デバイスを所有していません。アプリがエミュレーター上でロード/機能するのにかかる時間は正確ですか (つまり、実際のデバイスで速くなったり遅くなったりしますか)? また、さまざまな種類のデバイスでどのように機能するかを確認する方法はありますか? また、次のエラーが発生し続けます。

Skipped 60 frames!  The application may be doing too much work on its main thread.

これは、私が計算を頑張りすぎているということですか?

4

2 に答える 2

1

通常、それははるかに遅いです。幸いなことに、最近、システム上でエミュレーターのペアを起動するために、いくつかのシステムイメージが追加されましたx86。これにより、エクスペリエンスが大幅にスピードアップします。とにダウンロードする準備ができている画像があり2.3.3ます4.0.3

それらを利用するには、Android SDK Managerを開くだけです(Eclipseから、下を指す矢印の付いたアイコンがあるか、SDKから)。x86そこで、とのシステムイメージをダウンロードする必要が2.3.3あります4.0.3

その後、これらの新しいOSバージョンのいずれかで新しいエミュレーターを作成するときに、CPUシステムを選択できるようになります。パフォーマンスをわずかに向上させるマイナーな調整は他にもありますが、個人的には違いを感じていません。

それを試してみて、それがあなたのためにうまくいったかどうか私に知らせてください!

于 2012-08-31T17:49:47.420 に答える
0

1. Android Emulator はやや予測不能です。

私はいくつかの問題を経験しています:

-インターネット接続を確認する以下のコードは、エミュレーターでは機能しません。

private boolean checkConnection(){
boolean connected = false;
ConnectivityManager cm = 
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

if (cm != null) {
NetworkInfo[] netInfo = cm.getAllNetworkInfo();

for (NetworkInfo ni : netInfo) {
if ((ni.getTypeName().equalsIgnoreCase("WIFI")
|| ni.getTypeName().equalsIgnoreCase("MOBILE"))
& ni.isConnected() & ni.isAvailable()) {
connected = true;
    }

  }
 }

return connected;

}

どういうわけか、上記のコードは私には役に立たない.

さて、私は独自のコードを作成します。アプリの開始時に、私のコードは WAN またはデータ パケット接続をチェックし、バイナリ形式で時刻を取得するためにポート 37 で TimeServer に要求を送信してインターネット接続をチェックします。 ..これで私は結果を決定します。

- Camera、それは別の問題です。物理デバイスを使用する必要があります。

- 奇妙なエラーが発生することがあります。その後、プロジェクトをクリーンアップし、Eclipse、エミュレーターをシャットダウンしてから、もう一度起動します..

于 2012-08-31T18:04:52.230 に答える