Я нашел действительно замечательную статью о том, что мне нужно ЗДЕСЬ
Чтобы все было ясно, сначала мне нужно создать растровое изображение размером с мой вид, затем создать для него холст, нарисовать на холсте и сохранить его.
public void saveScreenshot() {
Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.draw(myGiganticImage)
File file = new File(context.getFilesDir() + "/cache.jpg");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.close();
cachedBackground = BitmapFactory.decodeFile(context.getFilesDir() + "/cache.jpg"
invalidate()
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
Я просто вызываю это на onDraw (), когда мне это нужно. Это сохранит растровое изображение во внутренней памяти, которое я могу использовать для рисования вместо большой картинки.