小编Joh*_*ens的帖子

序列化性能和谷歌Android

我正在寻找加快序列化性能的建议,特别是在使用谷歌Android时.对于我正在进行的项目,我试图将几百个对象从服务器转发到Android应用程序,并且我正在经历各个阶段以获得我需要的性能.

首先,我尝试了一个可怕的XML解析器,我使用Scanner专门针对这个项目进行了攻击,这在加载对象时造成了令人难以置信的缓慢性能(对于300KB文件约为5分钟).然后我离开了那个并使我的类实现Serializable并将我拥有的对象的ArrayList写入文件.将该文件读入到Android中,并且已经下载了文件,请注意~100KB序列化文件大约需要15-30秒.我仍然觉得这对于Android应用程序来说完全不可接受,因为我的应用程序需要在启动应用程序时加载数据.

我已经简要介绍了Externalizable以及它如何提高性能,但我不确定如何使用嵌套类实现它.现在,我正在尝试存储以下类的ArrayList,其下面是嵌套类.

public class MealMenu implements Serializable{
private String commonsName;
private long startMillis, endMillis, modMillis;
private ArrayList<Venue> venues;
private String mealName;
}
Run Code Online (Sandbox Code Playgroud)

和场地类:

public class Venue implements Serializable{
private String name;
private ArrayList<FoodItem> foodItems;
}
Run Code Online (Sandbox Code Playgroud)

和FoodItem类:

public class FoodItem implements Serializable{
private String name;
private boolean vegan;
private boolean vegetarian;
}
Run Code Online (Sandbox Code Playgroud)

IF Externalizable是提高性能的方法,有没有关于java在你尝试写出对象时如何调用对象中的方法的信息?我不确定是否需要在父类中实现它,也不知道如何在每个对象中序列化嵌套对象.

java performance serialization android

12
推荐指数
1
解决办法
3260
查看次数

标签 统计

android ×1

java ×1

performance ×1

serialization ×1