1

我想估计在捆绑中编写可打包对象所需的时间。我创建了自己的 parcelable 类(只有两个属性:一个 int 和一个 String),我编写了一个简短的应用程序,将我的 parcelable 类的 500 000 个对象实例化,将它们放入一个 ArrayList,将 ArrayList 写入一个包中,然后读取来自同一个包的 ArrayList。

我很惊讶地看到写和读这个相当大的列表是即时的。(每次0ms)

这样的 ArrayList 可以“立即”编写,还是我做错了?

    ...

    private static final int TEST_SIZE = 500000;

    ...

    mList = new ArrayList<MyParcelableClass>();
    for(int i=0; i<TEST_SIZE; i++){
        mList.add(new MyParcelableClass(i));
    }

    ... 

    Bundle testBundle = new Bundle();

    mStartTime = System.currentTimeMillis();        
    testBundle.putParcelableArrayList("test", mList);        
    logTime("parcelableArrayList writing");
    //parcelableArrayList writing 0ms       

    ArrayList<MyParcelableClass> deserialization = new ArrayList<MyParcelableClass>();      
    mStartTime = System.currentTimeMillis();        
    deserialization = testBundle.getParcelableArrayList("test");               
    logTime("parcelableArrayList reading");
    //parcelableArrayList reading 0ms


    private void logTime(String msg){
         long time = System.currentTimeMillis() - mStartTime;
         log(msg + " " + String.valueOf(time) + " ms");
    }   

    private void log(String msg){
        Log.i(TAG, msg);
    }
4

0 回答 0