Android,在活动之间传输数据的性能

时间:2016-08-22 05:09:42

标签: android android-intent serialization

以下两种方式中的哪一种在活动之间传输数据具有更好的性能?

  1. Activity1: putExtra("id" , customerId)

    Activity2:在表格中选择并填写Customer对象

  2. Activity1: putExtra("customer", customer)

    Activity2: Customer customer = (Customer)getIntent().getExtras().getSerialaizable("customer");

  3. 我的意思是将一个唯一的项目(如id)发送到下一个活动,然后从数据库中选择它或将整个对象发送到下一个活动并投射它?

2 个答案:

答案 0 :(得分:1)

显然是第一种方式。您只需发送对象的ID,然后在第二个Activity中从数据库中读取它。另一种方法涉及序列化/反序列化,这会花费CPU周期。即使使用Parcelable,仍然会使用大量的CPU周期。

另一方面,我怀疑你是否会注意到任何性能惩罚,除非你为一个巨大的物体做这件事。做任何更直接,更容易理解/维护的事情。

答案 1 :(得分:0)

在Android中不建议使用Serializable,请检查parcelable faster

序列化与数据库取决于对象的共谋,只有剖析可以显示图片,但对于一个对象,它是可以忽略的。

最快的方法是将对象存储在内存中并通过单例共享。