Да, это лучше делать в фоне. Примерно так:
Disposable d = Observable.fromCallable(() -> {
// save bitmap
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
И не забудьте вызвать d.dispose() в методе onDestroy() вашего активити или фрагмента.
П.с. код не проверял, пишу по памяти с телефона.