Я пытаюсь создать приложение, которое будет действовать как карта местности.Из-за локальной области я не хочу использовать Googlemaps или его API.Я хочу использовать .png, который импортирую.Мое изображение имеет размер 2300 x 1650, и после поиска способа загрузки этого изображения в мою активность (поскольку при создании одного растрового изображения выбрасывается исключение OOM) я нашел способ с использованием Drawables.Мой код для реализации drawable - это ...
InputStream mapInput = resources.openRawResource(R.drawable.mymap);
mapDrawable = Drawable.createFromStream(mapInput, "mymap");
mapDrawable.setFilterBitmap(true);
mapDrawable.setBounds(0, 0, MAP_WIDTH, MAP_HEIGHT);
myCustomView.setMapDrawable(mapDrawable, MAP_WIDTH, MAP_HEIGHT);
, и это прекрасно работает, и позволяет приложению функционировать.Однако, если я ОБРАЩАЮСЬ или HOME экран из приложения и пытаюсь перезагрузить его, я получаю NullPointerException, когда я пытаюсь получить доступ к mapDrawable (так в этой строке кода на mapDrawable.setFilterBitmap(true)
)
После сбоя моего приложенияЕсли я попытаюсь открыть его снова, он снова заработает.Если я не вернусь или не вернусь из этого, и тогда это не получится.Это всегда терпит неудачу при попытке открыть заново.
Я не понимаю, что я делаю неправильно.