以下两种方式中的哪一种在活动之间传输数据具有更好的性能?
Activity1:
putExtra("id" , customerId)
Activity2:
在表格中选择并填写Customer
对象
Activity1:
putExtra("customer", customer)
Activity2:
Customer customer = (Customer)getIntent().getExtras().getSerialaizable("customer");
我的意思是将一个唯一的项目(如id)发送到下一个活动,然后从数据库中选择它或将整个对象发送到下一个活动并投射它?
答案 0 :(得分:1)
显然是第一种方式。您只需发送对象的ID,然后在第二个Activity
中从数据库中读取它。另一种方法涉及序列化/反序列化,这会花费CPU周期。即使使用Parcelable
,仍然会使用大量的CPU周期。
另一方面,我怀疑你是否会注意到任何性能惩罚,除非你为一个巨大的物体做这件事。做任何更直接,更容易理解/维护的事情。
答案 1 :(得分:0)
在Android中不建议使用Serializable,请检查parcelable faster。
序列化与数据库取决于对象的共谋,只有剖析可以显示图片,但对于一个对象,它是可以忽略的。
最快的方法是将对象存储在内存中并通过单例共享。