在模拟器中比在手机

时间:2017-02-18 11:56:53

标签: android google-maps android-asynctask android-emulator geojson

我正在Google地图中加载geojson文件。由于文件很大,我将文件分成小块并尝试使用并行处理加载它们。

for (int i = 1; i < 3; i++) {
    new MyAsyncTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,i);
}

异步任务:

public class MyAsyncTask extends AsyncTask <Integer, Void, GeoJsonLayer> {

  @Override
  protected void onPreExecute() {
    super.onPreExecute();
  }

  @Override
  protected GeoJsonLayer doInBackground(Integer... integers) {
    int i = integers[0];
    try {
      GeoJsonLayer layer = null;
      switch (i) {
        case 1:
          layer = new GeoJsonLayer(mMap, R.raw.small_1, getApplicationContext());
          break;
        case 2:
          layer = new GeoJsonLayer(mMap, R.raw.small_2, getApplicationContext());
          break;
        //other cases
        }
        return layer;
    } catch (Exception e) {
        return null;
    }
  }

  @Override
  protected void onPostExecute(GeoJsonLayer layer) {
    super.onPostExecute(layer);
    layer.addLayerToMap();
  }
}

我在Emulator(Android 6.0,API 23)以及手机(Samsung GT N7100,Andriod 4.4.2,API 19)中运行它。加载地图并在其上显示图层会在模拟器中立即完成,而手机中需要一些时间(大约20秒)。模拟器中的核心数为2,而手机中的核心数为4。

 Runtime.getRuntime().availableProcessors();

这是什么原因?手机应该比模拟器快吗?我还在清单文件中启用了硬件加速选项。有没有可以用于手机有效加载的选项?

我的模拟器详情如下

名称:Nexus_6P_API_23

CPU / ABI:Google API Intel Atom(x86)

路径:C:\ Users \ seasonal.android \ avd \ Nexus_6P_API_23.avd

目标:google_apis [Google API](API级别23)

皮肤:1440x2560

SD卡:C:\ Users \ seasonal.android \ avd \ Nexus_6P_API_23.avd \ sdcard.img

hw.dPad:没有

runtime.network.speed:完整

hw.accelerometer:是的

hw.device.name:Nexus 6P

vm.heapSize:64

skin.dynamic:是的

hw.device.manufacturer:Google

hw.gps:是的

hw.initialOrientation:Portrait

skin.path.backup:_no_skin

image.androidVersion.api:23

hw.audioInput:是的

image.sysdir.1:system-images \ android-23 \ google_apis \ x86 \

tag.id:google_apis

showDeviceFrame:没有

hw.camera.back:none

hw.mainKeys:没有

AvdId:Nexus_6P_API_23

hw.camera.front:none

hw.lcd.density:560

avd.ini.displayname:Nexus 6P API 23

hw.gpu.mode:auto

hw.device.hash2:MD5:9b564b60b1aebee32c73ded9daa1e620

hw.ramSize:768

hw.trackBall:没有

hw.battery:是的

hw.sdCard:是的

tag.display:Google API

runtime.network.latency:none

hw.keyboard:是的

hw.sensors.proximity:是的

disk.dataPartition.size:800M

hw.sensors.orientation:是的

avd.ini.encoding:UTF-8

hw.gpu.enabled:是的

0 个答案:

没有答案