gpt4 book ai didi

android - 从 Android 中的数据库中再次获取对象是否效率低下?

转载 作者:行者123 更新时间:2023-11-30 02:57:46 24 4
gpt4 key购买 nike

我来自网络世界,我是 Android 新手。

在网络世界中,您通常会传递事物的 id,从“ ListView ”到“详细 View ”,例如:

URL: Messages/List --> Message/Detail?messageId=x

在 Android 中,我的所有消息都有此 Activity :MessagesActivity
它们从数据库 (SQLite) 中获取并显示在带有定制适配器的 ListView 中。

问题:仅将消息的 id(在 intent extras 中)从此 Activity 传递到 MessageDetailActivity 是否效率低下?

    @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Intent intent = new Intent(thisActivityContext, MessageDetailActivity.class);
intent.putExtra("messageId", id); // inefficient? should pass object?
startActivity(intent);
}

与传递整个消息对象相反。我问这个是因为在我看来,“标签”的用法不是很直观,我必须投...

此外,在标签中保存所有“消息”对象可能会占用大量内存

最佳答案

如果你的对象比较轻,你可以让它的类实现 Serializable 并将它作为额外的传递给 MessageDetailActivity,如果你认为对象很重(里面有很多字段和嵌套对象),你应该传递 Id 并获取它再次来自 MessageDetailActivity。

请记住,尽管在大多数设备上从 Android 上的 Sqlite 获取记录的速度很快,因此可以在您的新 Activity 中获取几条记录(只要您在后台线程上执行此操作以防止 UI 从锁定)

但是我发现的一件事是,如果您需要修改数据库上的那个对象,如果每次创建任何 Activity 时都从数据库中获取整个对象,您将会省去很多麻烦,因为那样您将避免同步问题。

关于android - 从 Android 中的数据库中再次获取对象是否效率低下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23017147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com