`nativeImage.getBitmap()` allows accessing raw memory after it is freed.

```js
const { nativeImage } = require('electron')

const img = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYlWNgAAIAAAUAAdafFs0AAAAASUVORK5CYII=')
const bitmap = img.getBitmap()
console.log(bitmap)
setTimeout(() => {
  gc()
  console.log(bitmap)
}, 1000)
```

The above example produces the following output on my machine:

```
<Buffer 00 00 00 00>
<Buffer 50 b8 41 05>
```

The 2nd log is just an arbitrary chunk of memory. It's random each time I run the program.
shell/common/api/electron_api_native_image.cc
}  
NativeImage::NativeImage(v8::Isolate* isolate, const gfx::Image& image)
    : image_(image), isolate_(isolate) {
  if (image_.HasRepresentation(gfx::Image::kImageRepSkia)) {
    isolate_->AdjustAmountOfExternalAllocatedMemory(
        image_.ToImageSkia()->bitmap()->computeByteSize());
  }
}
#if defined(OS_WIN)
NativeImage::NativeImage(v8::Isolate* isolate, const base::FilePath& hicon_path)
    : hicon_path_(hicon_path), isolate_(isolate) {
  
  gfx::ImageSkia image_skia;
  electron::util::ReadImageSkiaFromICO(&image_skia, GetHICON(256));
  image_ = gfx::Image(image_skia);
  if (image_.HasRepresentation(gfx::Image::kImageRepSkia)) {
    isolate_->AdjustAmountOfExternalAllocatedMemory(
        image_.ToImageSkia()->bitmap()->computeByteSize());
  }
}
#endif
NativeImage::~NativeImage() {