在调用onDestroy之后,android Drawable在onCreate中调用NullPointerException

时间:2011-11-02 10:32:33

标签: android nullpointerexception drawable out-of-memory

我正在尝试创建一个充当本地区域地图的应用程序。由于本地区域,我不想使用Googlemaps或其API。我想使用我导入的.png。我的图像是2300 x 1650,在搜索了将这个图像加载到我的Activity中的方法之后(因为只是让一个位图引发了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屏幕并尝试重新加载它,当我尝试访问mapDrawable时会出现NullPointerException(所以在这行代码中,mapDrawable.setFilterBitmap(true)上)

我的应用程序失败后,如果我再次尝试重新打开它,它会再次运行。除非我退出或退出它然后它失败了。尝试重新打开时总是失败。

我不明白我做错了什么。

1 个答案:

答案 0 :(得分:2)

以下是在Google地图中显示异步的示例项目..

https://github.com/commonsguy/cw-advandroid/tree/master/Maps/NooYawkAsync/

如果有效,请尝试此操作..