У меня вопрос. Каков наилучший способ хранения объектов ArrayList Float, чтобы я мог перезагрузить ArrayList, когда моя активность перезапустится из-за переключения ориентации моего устройства? Я думал об использовании Bundles, но тогда мне пришлось бы расширить класс Float, чтобы он реализовал Parcelable. Поскольку класс был объявлен окончательным, к сожалению, я не могу этого сделать. Я немного поработал и нашел несколько решений для подобных проблем, таких как переопределение onRetainNonConfigurationInstance(). Я также подумал о создании моего собственного класса оболочки-оболочки для примитива float и создания его Parcelable. Следует отметить, что ArrayLists, которые я хочу сохранить, находятся внутри классов, экземпляры которых создаются внутри экземпляра DrawView моего Activity.Как сохранить объекты ArrayList Float, чтобы я мог восстановить их, когда моя активность перезагрузится?
Я еще не хотел публиковать код, потому что я ничего не сделал для решения проблемы, кроме исследования возможных решений. Если вы, ребята, должны это увидеть, сообщите мне, и я с радостью опубликую его.
Относительно примечания, причина, по которой я решил использовать ArrayLists, состояла в том, что я хотел использовать некоторую форму распределения динамической памяти. Поскольку из-за характера моего приложения я не могу предсказать, сколько объектов будет в массиве, я хотел бы иметь способ выделить столько памяти, сколько мне нужно для хранения объектов Float. По правде говоря, мне нужно хранить только примитивы float, но ArrayLists требуют непримитивов. По какой-то причине вы, ребята, знаете лучший способ сделать это, потому что использование ArrayLists с плавающей точкой только для хранения примитивных значений кажется мне немного неуклюжим.
Лучший способ сохранения состояния в конфигурационных изменениях по-прежнему является подходом «NonConfig». –
Я хотел бы прокомментировать статические классы на Android, также, как предложено ниже. Они не работают, как вы ожидаете на Android. Не говори, что я тебя не предупреждал. –