Недавно я изучаю причины повреждения двоичного файла. У нас есть приложение для Android, родная часть может читать/записывать двоичный файл на SD-карте. Иногда двоичный файл развращается по неизвестным причинам. Мы собрали некоторые из этих файлов у разных пользователей и нашли интересные факты.
Одним из основных видов коррупции является то, что первые 4096 байт двоичного файла стираются. Когда я hexdump эти файлы, первые 4096 байт - все нули. Не более 4096 или менее 4096, но точно 4096 байт. Я думаю, что это не совпадение. Я знаю, что 4096 байт - это один размер страницы. Но, не имея опыта, я не могу понять причину, и что еще более важно, я не знаю, как избежать таких вещей для других пользователей/устройств.
Кроме того, в середине некоторых двоичных файлов есть также некоторые непрерывные сегменты нулей, которых он не должен быть. Если это не ошибка наших программ, есть ли какие-либо возможные причины, которые могут иметь отношение к ядру платформы/устройства, или что-нибудь еще, подобное устройству, внезапно вышло из строя?
Я надеюсь, что любой, кто испытал подобные ситуации, может дать мне подсказку/советы/решения и т.д. Это действительно сильно смутило меня.
Большое спасибо ~