Android Stati c Метод или создание экземпляра класса - PullRequest
1 голос
/ 24 апреля 2020

Это вопрос, на который я должен знать ответ, но мне было бы интересно узнать, как лучше всего создать список в Android, так и почему.

Мне нужно создать довольно большой список с несколькими десятками записей, поэтому я бы предпочел не делать этого в упражнении, которое будет его использовать (хотя я могу, если это самый быстрый и безопасный метод, он просто добавляет код к уже большому действию).

Должен ли я создать класс:

public class CreateList(){
    List<Object> myList = new ArrayList<>();

    public List<Object> createList(){
        myList.add();
        myList.add();
        ....
        ....
        return myList();
    }

И использовать его, создав экземпляр класса в Android Activity:

CreateList cL = new CreateList();
neededList = cL.createList();

ИЛИ

Это лучше? использовать метод stati c:

public class CreateList(){


    public static List<Object> createList(){

        List<Object> myList = new ArrayList<>();
        myList.add();
        myList.add();
        ....
        ....
        return myList();
    }

и вызывать его более просто:

neededList = CreateList.createList();

Есть ли у метода stati c проблемы утечки памяти? Один способ лучше?

1 Ответ

0 голосов
/ 24 апреля 2020

Второй вариант - лучшая реализация, так как он поддерживает SO C (разделение проблем), а также может способствовать повторному использованию кода, но если вы собираетесь использовать код бизнес-логики c, лучше сделать это с помощью ViewModels. Пожалуйста, смотрите https://proandroiddev.com/mvvm-architecture-viewmodel-and-livedata-part-1-604f50cda1

Код вашей бизнес-логики c в главном потоке с огромными порциями данных может иметь тенденцию блокировать основной поток, поэтому в пользовательском интерфейсе происходит задержка .

...