1

我已经构建了一个具有单个地图视图的 android 应用程序。

我有一个错误,地图视图偶尔会丢失图块。地图视图不是完全空白的,一些图块出现但不是全部。这里的所有答案都与 API 密钥或在一个应用程序中拥有多个地图视图的问题有关。这不是问题。

它间歇性地发生,大约每五次我在清除应用程序中的所有数据后启动应用程序。所以它典型地出现在新装置上。

它只发生在 Android 2.2 设备上(肯定是三星 Galaxy S)

注意日志显示:

07-21 17:11:52.274: INFO/MapActivity(25951): Handling network change notification:CONNECTED
07-21 17:26:25.629: ERROR/MapActivity(26064): Couldn't get connection factory client

当瓷砖无法加载时,放大和缩小或重新启动不会刷新瓷砖。唯一的解决方案是转到设置->管理应用程序->[选择应用程序]->清除数据,然后重新启动应用程序。

有人以前见过这个并知道原因或解决方法吗?

干杯。

4

3 回答 3

2

我猜你可以看到部分磁贴,所以可能是你的互联网连接问题。如果您尝试在模拟器中运行您的应用程序,请检查您的 Internet 连接天气,它会在模拟器中显示 3G 图标,否则请检查设备。

我发现了与您相同的问题,因为当我连接显示地图的某些部分时,一段时间后我再次打开它,当时我没有互联网,所以我在地图上发现了第一次加载的部分图块。我已连接到互联网并重试,然后我的问题已解决,地图显示正常。

于 2011-08-03T12:52:25.960 回答
2

建议

public class yourCustomMapView extends MapView{
    public abstract void invalidateDrawable (Drawable who){
        super.invalidateDrawable(who);
        //try to catch the error here:
        //My Guess is the following:
        if(who.getTransparentRegion!=null){
            //DO SOMETHING
            //You would delete the cache and reload
            //Try Reloading the image only
        }
    }
}

以编程方式删除缓存

这是比较容易的部分。您将不得不手动删除与您的应用程序关联的所有数据库和文件。不要忘记在删除之前关闭数据库和流到文件。这是如果事实证明您必须清除缓存

于 2011-08-05T08:35:32.363 回答
0

如果网络连接不正确,可能会发生这种情况。我的意思是如果网络提供商方面有任何问题。它也发生在我身上。一段时间后运行该应用程序。我希望它可以解决问题。

于 2013-03-14T07:41:57.580 回答