在新线程

时间:2017-05-01 15:58:23

标签: android multithreading android-asynctask android-mapview osmdroid

在我的应用程序中加载地图在某些设备上运行缓慢。我想在不同的线程中加载地图并显示进度对话框,直到完成为止。

我发现了这篇文章:http://pygmalion.nitri.de/android-starting-an-activity-containing-a-mapview-takes-forever-380.html

我认为它唯一能做的就是等待定义的时间,然后在run()方法中运行代码。那不是我想要的。

我尝试使用与上面文章中相同的XML布局使用ASyncTask:

    在doInBackground()中的
    • new MapView(MyActivity.this);
    • 创建了MapView
    • 多点触控设置器,缩放控件,tilesource(使用osmbonusback离线)
  • onPostExecute()中的
    • 将mapview添加到准备好的FrameLayout

地图正确加载但缩放控件位于屏幕顶部。此外,当我放大时,瓷砖重新调整,而不是加载正确的缩放级别图块 - 直到我移动地图。

有没有办法立即打开活动,等待地图让用户知道它正在加载?

0 个答案:

没有答案