java - 通过可分割数据结构和 native 数据结构传递之间的性能/差异?

标签 java android

安卓新手。更多的 python 贡献者在堆栈上。所以。

我知道如何通过 intent 传递原生数据

即:

Intent intent = new Intent(getBaseContext(), NextActivity.class);
intent.putExtra("PersonName", "Joe");
intent.putExtra("PersonId", "200");
startActivity(intent);

我已经到了必须在 Activity 之间传递超过 2 个属性(比如 3 个)的地步。这可能更乏味

我也知道 Parcelable

Intent intent = new Intent(getBaseContext(), NextActivity.class);
Person person = new Person(); // class that implements parcelable
intent.putExtra("person", person);
startActivity(intent);

我也知道在性能方面,Parcelable 优于通过这个很棒的线程进行序列化 Android: Difference between Parcelable and Serializable?

我的 Android 应用的性能问题越来越严重。 (我有一个长期运行的套接字服务,有时还会在后台上传/下载图像)所以我想尽可能地提高性能。如果有的话,这里是否存在相当大的性能差异?在某个点实现 parcelable 是一种好习惯吗,比如我传递的是 10 个键值而不是 3 个

最佳答案

您只能将基本数据类型直接传递给 Activity ,因此您不会在性能方面获得任何不可忽略的东西。

Is it good practice to implement parcelable at a certain

Parcelable 应在数据组逻辑上 放在一起时使用 - 想想 POJO。

关于java - 通过可分割数据结构和 native 数据结构传递之间的性能/差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50861744/

相关文章:

java - 使用 checkstyle 要求 equals 两侧有空格

java - 仅 RecyclerView 的第一个 CardView 被着色

android - 编译 'com.firebaseui:firebase-ui-storage:4.0.0'错误

Android TV 强制应用程序处于纵向模式

java - 调用弹出窗口时应用程序崩溃

java - 将数值添加到字符串名称的最简单方法

Android SQLiteDatabase 语法错误,代码 1

android - eclipse 安卓 : Could not open Selected VM debug port (8700)

java - Android Foursquare accessToken : How to get accessToken from inner class?

java - 什么是最佳实践 : Use prototype bean instead of new () operator