Android MapView引发IllegalArgumentException-图像大小错误:192

Android MapView引发IllegalArgumentException-图像大小错误:192,android,google-maps,android-mapview,illegalargumentexception,Android,Google Maps,Android Mapview,Illegalargumentexception,我从三星Vibrant Galaxy S上的用户那里收到了过多的崩溃报告。在四处搜索解决此问题的方法后,我唯一遇到的是Google Code上的一个公开问题: 该线程建议扩展MapView并捕获异常。这是最好的方法,还是有更好的方法?我想彻底解决这个问题,而不是给它缠上绷带 以下是堆栈跟踪: java.lang.IllegalArgumentException: wrong image size: 192 192 at com.google.googlenav.map.MapTile.getIm

我从三星Vibrant Galaxy S上的用户那里收到了过多的崩溃报告。在四处搜索解决此问题的方法后,我唯一遇到的是Google Code上的一个公开问题:

该线程建议扩展MapView并捕获异常。这是最好的方法,还是有更好的方法?我想彻底解决这个问题,而不是给它缠上绷带

以下是堆栈跟踪:

java.lang.IllegalArgumentException: wrong image size: 192 192
at com.google.googlenav.map.MapTile.getImage(Unknown Source)
at com.google.googlenav.map.Map.drawTile(Unknown Source)
at com.google.googlenav.map.Map.drawMapBackground(Unknown Source)
at com.google.googlenav.map.Map.drawMap(Unknown Source)
at com.google.android.maps.MapView.drawMap(MapView.java:1048)
at com.google.android.maps.MapView.onDraw(MapView.java:486)
at android.view.View.draw(View.java:6597)
at android.view.ViewGroup.drawChild(ViewGroup.java:1533)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1260)
at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1260)
at android.view.View.draw(View.java:6600)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at android.view.ViewGroup.drawChild(ViewGroup.java:1533)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1260)
at android.view.View.draw(View.java:6600)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1884)
at android.view.ViewRoot.draw(ViewRoot.java:1374)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1139)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)

希望其他人会拿出另一个答案来证明我错了,但根据我个人在设备特定问题上的经验,捕捉异常似乎是你能做的最好的事情

编辑下面的评论:这是一个要点,在扩展WebView一次时,我确实在使用自定义WebView代码的特定设备上遇到了一些新问题


这里有很多人的经验比我丰富得多,我希望他们中的一个会来给我一个更明确的答案或更少的黑客解决方案,但如果有必要,你可以始终使用
android.os.Build.DEVICE
android.os.Build.MODEL
和/或
android.os.Build.PRODUCT
以确定应用程序是否在三星Vibrant Galaxy S上运行,并且(通过反射)仅在该应用程序运行时才使用自定义MapView类。

可能是您在此处犯了错误,请将代码更改为正确的形式,或者输入

  <uses-library android:name="com.google.android.maps"   // in manifest under inside applicaiton tag
              android:required="true"/>


//wrong usage of activity
 public class A extends Actvitiy 
 {
  }
    //correct usage
  public class A extedns MapsActivity 
 {
      //your all program...
   }

//活动的错误使用
甲级公开赛扩大了活动范围
{
}
//正确用法
公共A类extedns映射活动
{
//你的所有计划。。。
}

这是可以理解的,但问题是,为占应用程序使用量1%的用户解决这一问题可能会导致其他99%的用户出现问题。扩展MapView时是否存在我不知道的问题?这是我主要关心的“解决”这个问题。谢谢你的意见。我可能不得不在你的编辑中加入类似的内容。我会给它更多的时间,看看是否有其他人有一个完整的解决方案或不同的解决方案。我会继续,并标记这是答案,因为这是一个可行的解决方案,只是不希望。谢谢