Java 通过parcelable和本机数据结构传递的性能/差异?
android的新功能。更多的python贡献者在堆栈上。所以 我知道如何通过intent传递本机数据 i、 e: 我已经到了必须在活动之间传递2个以上属性(比如3个)的地步。这可能更乏味 我也知道包裹Java 通过parcelable和本机数据结构传递的性能/差异?,java,android,Java,Android,android的新功能。更多的python贡献者在堆栈上。所以 我知道如何通过intent传递本机数据 i、 e: 我已经到了必须在活动之间传递2个以上属性(比如3个)的地步。这可能更乏味 我也知道包裹 Intent intent = new Intent(getBaseContext(), NextActivity.class); Person person = new Person(); // class that implements parcelable intent.putExtra(
Intent intent = new Intent(getBaseContext(), NextActivity.class);
Person person = new Person(); // class that implements parcelable
intent.putExtra("person", person);
startActivity(intent);
我还意识到,就性能而言,Parcelable优于通过这个令人敬畏的线程进行序列化
我的android应用程序的性能越来越令人担忧。(我有一个长期运行的socket服务,有时也会在后台上传/下载图像),因此我希望尽可能提高性能。如果有的话,这里是否有相当大的性能差异?在某一点实现parcelable是否是一种良好的做法,比如说,如果我传递的是10个键值,而不是3个键值,那么您只能将基本数据类型直接传递给活动,因此在性能方面不会得到任何不可忽略的结果 在特定时间实施parcelable是一种良好的做法吗
Parcelable
应该在数据组逻辑地连接在一起时使用-想想pojo。谢谢,我想我确实同意这一部分的传递,这是有道理的,但我认为在序列化时也存在一些性能差异(可能是因为Serializer sdk的错误措辞)将响应数据转换为可打包的。例如,我有一个项目(人员)列表,我必须将其序列化为Parcelablente注意,当以可包裹的形式传递数据时,每个事务的限制为1MB,因此如果您的列表很大,并且有大量需要传递的数据,我会选择primitivetypes@IvanMilisavljevic此案例可能不会超过1mb,但谢谢!这一点很重要。@Dap不要担心它的性能。你看,这些都是你用来直接传递基本数据的便捷方法(putExtra方法)。您可能已经注意到,在活动中
接收它们时,它们实际上为您打包成了一个包
。至于您日益增长的性能问题,网络请求将不仅在后台线程中执行,而且将根据internet速度而不是系统资源来花费时间。@NeelKamath谢谢。我相信伊万也发表了类似的意见。您对将响应数据序列化为parcelable有何看法?
Intent intent = new Intent(getBaseContext(), NextActivity.class);
Person person = new Person(); // class that implements parcelable
intent.putExtra("person", person);
startActivity(intent);