2014-10-22 19 views
0

通常我必須傳遞給片段(或活性)一些接口實例,不需要任何內部數據。要將它傳遞給片段(或活動),我應該將它寫入Bundle(或Intent),作爲ParcelableSerializable。我從這兩個選項中選擇什麼?Parcelable VS序列化 - 用於類沒有任何字段

例子:

public class SomeFragment { 

    public static interface Helper { 
     View prepareView(SomeFragment fragment, LayoutInflater inflater); 
     // etc. 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return extractHelperFromArguments().prepareView(this, inflater); 
    } 

    public static SomeFragment newInstance(Helper helper) { 
     SomeFragment fragment = new SomeFragment(); 
     // 
     // Bundle args = new Bundle(); 
     // 
     // args.putParcelable(KEY_HELPER, (Parcelable) helper); 
     // or 
     // args.putSerializable(KEY_HELPER, (Serializable) helper); 
     // ? 
     // 
     // fragment.setArguments(args) 
     return fragment; 
    } 

} 

如果讓我選擇Parcelable然後我要聲明靜態字段CREATOR和空方法describeContents()writeToParcel()因爲該類沒有字段)。

如果讓我選擇Serializable然後我沒有做任何事情。

對不起,我的英語

回答

2

你好這裏是很好的鏈接閱讀本後,你將有關於Parcelable VS序列化沒有問題..

link

enter image description here

+1

這是完美的答案。 – 2014-10-22 06:47:59

+2

如果速度因數只是2等上的圖像上面我wouldnt在實施Parcelable麻煩,事實上,我beleive這一個更接近的事實:http://www.developerphil.com/parcelable-vs-serializable/ – pskink 2014-10-22 07:54:52

+0

@pskink LOL 。感謝您分享鏈接。儘管實現可串行化的簡單性,但可以使用Parcelable。 – user3144836 2015-07-19 16:22:11