4

Samsung Vibrant Galaxy S のユーザーから過度のクラッシュ レポートが寄せられています。この問題の解決策を探し回った結果、Google Code で公開されている問題だけが見つかりました: http://code.google.com/ p/android/issues/detail?id=4599

このスレッドは、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)
4

2 に答える 2

2

うまくいけば、他の誰かが私が間違っていることを証明するために別の答えを提示するでしょうが、デバイス固有の問題に関する私の個人的な経験では、例外をキャッチすることがあなたができる最善のようです。

以下のコメントについて編集してください。それがポイントです。WebViewを一度拡張したときに、カスタマイズされたWebViewコードを使用する特定のデバイスでいくつかの新しい問題が発生しました。

ここには私よりもはるかに多くの経験を持つ人がたくさんいます。そのうちの1人が立ち寄って、より明確な答えやハッキーな解決策を提供してくれることを願っていますが、必要に応じて、またはを使用してandroid.os.Build.DEVICE、アプリはSamsungVibrantGalaxy Sで実行されており、(リフレクションを介して)カスタムMapViewクラスを使用している場合にのみ使用します。android.os.Build.MODELandroid.os.Build.PRODUCT

于 2011-09-25T01:00:07.900 に答える
0

ここで間違いを犯した可能性があるため、コードを正しい形式に変更するか、入力してください

  <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...
   }
于 2012-11-28T20:03:11.400 に答える