bitmap.compress(Bitmap.CompressFormat.JPEG, 0, fos);
Сначала вы сохраняете это как JPEG.JPEG предназначен для фотографий, и ваш скриншот не является фотографией.
Во-вторых, вы сохраняете его с коэффициентом качества 0. JPEG использует алгоритм сжатия с потерями, а коэффициент качества 0 говорит: «Пожалуйста, почувствуйтеВы можете сделать это изображение действительно плохим, но сожмите его настолько, насколько сможете ».
Я предлагаю переключиться на:
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
PNG - лучший формат изображения для скриншота ссодержимое показано в вашем вопросе.Я не думаю, что PNG использует значение коэффициента качества;Я положил 100, просто чтобы указать, что вы хотите самое лучшее качество.