Question

How accurate is the Android emulator in terms of how an app will function on a physical Android device? I am an amateur developer for Android but due to circumstances, do not own an Android device myself. Is how long the app takes to load/function on the emulator accurate (i.e. will it be faster or slower on an actual device)? And is there any way to see how it functions on different types of devices? Also, I keep getting this error:

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

Does this mean I'm trying too hard a computation?

Was it helpful?

Solution

Normally it's much much slower. Luckily, some system images were added recently to launch a pair of emulators over x86 systems. This speeds up the experience drastically. There are images ready to be downloaded for 2.3.3 and 4.0.3.

To take advantage of them, just open Android SDK Manager (either from Eclipse, there's an icon with an arrow pointing to the bottom, or from the SDK). There you just need to download the x86 system images for 2.3.3 and 4.0.3.

After that, when creating a new emulator on one of these new OS versions, you'll be able to choose the CPU system. There are other minor tweaks which slightly improve performance, but I personally haven't felt the difference.

Give it a try and let me know if it worked out for you!

OTHER TIPS

1. Android Emulator is somewhat Unpredictable.

I have experience few hiccup :

- The code below to check the internet connectivity won't work with 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;

}

Somehow the above code is useless to me, as sometime the connection to the wireless router in present but no internet connectivity, at that time it give the wrong result.

Well i create my own code, where on the starting of the App, my code will check for the WAN or Data Packet connectivity, then will check the internet connectivity by sending a request to TimeServer at port 37 to fetch the time in binary form...on this i decide the result.

- Camera, thats another probs with it, i need to use a physical device for it.

- Sometimes it gives weird errors, then i clean the project and Shutdown my Eclipse, Emulator and then Start them again..

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top