Android静态方法或创建类的实例

时间:2020-04-24 03:27:47

标签: java android memory-leaks

这是我应该知道的答案,但我想知道在Android中创建列表的最佳方法以及原因。

我需要创建一个包含几十个条目的较大列表,因此我不希望在使用它的活动中这样做(尽管我可以(如果它是最快,最安全的方法,但可以将代码添加到活动已经很大)。

我应该创建一个类:

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

并通过在Android Activity中创建类的实例来使用它:

public class CreateList(){


    public static List<Object> createList(){

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

OR

使用静态方法更好吗?

neededList = CreateList.createList();

并更简单地调用它:

var testVar= "hello"
;

$.get('schools.php', function (param) {
    console.log(testVar) //This gives me 'undefined'
    if (param[1]== testVar){
      console.log("it is working!")
    }                   
})

静态方法是否存在内存泄漏问题?一种方法更好吗?

1 个答案:

答案 0 :(得分:0)

第二个是更好的实现,因为它提升了SOC(关注分离),也可以提高代码的可重用性,但是如果您要执行业务逻辑代码,则最好使用ViewModels来实现。请参阅https://proandroiddev.com/mvvm-architecture-viewmodel-and-livedata-part-1-604f50cda1

在主线程上处理大量数据的业务逻辑代码可能会阻塞主线程,从而导致UI发生延迟。