title: Create Bitmap NullPointerException
body: <p>I have a crash on an application that I can't seem to work out.</p>
  
  <p>I get a bitmap from resource like so.</p>
  
  <pre><code>Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.map_distance_tag);
  </code></pre>
  
  <p>Now this seems to have problems on a very small minority of devices when it comes to creating a bitmap from this bitmap. For example...</p>
  
  <pre><code>Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
  </code></pre>
  
  <p>I get a <code>NullPointerException</code> when it creates the <code>Bitmap</code> on line 468 of the <code>Bitmap</code> class, thich I have had a look into and its when its setting the density scale of the new bitmap from its source bitmap.</p>
  
  <pre><code>// The new bitmap was created from a known bitmap source so assume that
  467        // they use the same density scale
  468        bitmap.setDensityScale(source.getDensityScale());
  </code></pre>
  
  <p>Now I can't seem to recreate the problem but the fact I don't get an exception when getWidth() is called on the original Bitmap tells me that the source isn't null.</p>
  
  <p>Here is the entire stack trace.</p>
  
  <pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.app/com.my.app.recording.TrackingActivity}: java.lang.NullPointerException
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:123)
  at android.app.ActivityThread.main(ActivityThread.java:4627)
  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:858)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  at dalvik.system.NativeStart.main(Native Method)
  Caused by: java.lang.NullPointerException
  at android.graphics.Bitmap.createBitmap(Bitmap.java:468)
  at com.my.app.maps.MapFragment.createTabOverlay(MapFragment.java:663)
  at com.my.app.maps.MapFragment.addMarkersForToolType(MapFragment.java:474)
  at com.my.app.maps.MapFragment.onActivityCreated(MapFragment.java:405)
  at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1468)
  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:931)
  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
  at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
  at com.my.app.recording.TrackingActivity.onStart(TrackingActivity.java:272)
  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129)
  at android.app.Activity.performStart(Activity.java:3781)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2636)
  ... 11 more
  </code></pre>
  
  <p><strong>My Idea</strong></p>
  
  <p>Could it be something to do with me not including different bitmaps for different screen densities? All the Bitmaps supplied are for mdpi screens.</p>
  
  <p>I notice there is also a BackStackRecord. Could this be crashing when the user presses back?</p>
  
  <p><strong>Thanks in advance</strong></p>