Как я могу сохранить ArrayList пользовательских объектов в кеше (CustomObject реализует Parcelable)? Android Studio - PullRequest
0 голосов
/ 09 сентября 2018

Мой ListView в MainActivity имеет задержку при прокрутке, я исследую эту проблему и я считаю, что я должен сохранить изображения в кэш-памяти. Затем многие решения, которые я нашел, были для списка объектов, которые реализуют сериализуемые, дело в том, что у меня есть объекты, которые реализуют Parcelable, чтобы я мог отправить их в другое действие.

Мои классы (без методов getter и setters и parcelable методов, это не имеет значения в этой проблеме):

public class Character implements Parcelable{
    private String character_name;
    private String character_city;
    private int img_data;
    private List<Audio> audios;

    Character(String character_name, String character_city, int img_data){
        this.character_name = character_name;
        this.character_city = character_city;
        this.img_data = img_data;
        this.audios = null;
    }
}

public class Audio implements Parcelable{

    private String audio_name;
    private int audio_id;

    public Audio(String audio_name, int audio_id){
        this.audio_name = audio_name;
        this.audio_id = audio_id;
    }
}

Вот что я получил в on_create:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (characters_list.isEmpty()){
        fill_character_list();
    }
    character_list_view = findViewById(R.id.list_view_main_characters);
    character_list_view.setAdapter(new Adapter(this, characters_list));
    character_list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
            Character character = characters_list.get(position);
            Intent intent = new Intent(getBaseContext(), CharacterAudiosActivity.class);
            intent.putExtra("CHARACTER", character);
            startActivity(intent);
        }
    });
}

Буду рад, если есть способ оптимизировать прокрутку в списке

PS: если я добавляю одни и те же 4 или 5 объектов в список много раз, я не получаю это отставание (повторяются одни и те же изображения, и оно плавное)

...