我有一个库,它公开了Activity
,意味着要用startActivityForResult()
调用,但结果将是数千行数据。远远超过我很乐意回复活动的回应。公开这些数据的恰当方式是什么?
此Activity
也可以用于我不了解/不信任的其他应用程序,因此我不能依赖它们进行任何清理操作。
答案 0 :(得分:1)
在返回之前,请考虑将数据放入ContentProvider中。然后在您的响应中传回一个URI,该URI标识数据在ContentProvider中的位置。
然后,调用者可以在完成使用后从ContentProvider中删除数据(如果适用)
答案 1 :(得分:0)
如果活动没有UI,则使用ContentResolver而不是Activity。或者你可以在数据上返回一个Cursor。数千行来自哪里?如果来自SQL lite中的数据库查询,那么我会说Cursor是最好的。
答案 2 :(得分:0)
将数据存储在SQLite数据库中。您永远不应该在内存中存储“数千行数据”...始终将持久数据存储在磁盘上。