我有一个库,它公开了一个Activity
要被调用的库startActivityForResult()
,但结果将是数千行数据。远远超出我对活动响应的满意程度。公开这些数据的适当方法是什么?
这Activity
也可能用于我不知道/不信任的其他应用程序,因此我不能依赖它们进行任何清理操作。
我有一个库,它公开了一个Activity
要被调用的库startActivityForResult()
,但结果将是数千行数据。远远超出我对活动响应的满意程度。公开这些数据的适当方法是什么?
这Activity
也可能用于我不知道/不信任的其他应用程序,因此我不能依赖它们进行任何清理操作。
Consider placing your data into a ContentProvider before returning. And then in your response pass back a URI that identifies where the data is in the ContentProvider.
The caller can then remove the data from the ContentProvider when they are finished using it (if appropriate)
如果 Activity 没有 UI,则使用 ContentResolver 而不是 Activity。或者你可以在数据上返回一个光标。数千行来自哪里?如果来自 SQL lite 中的数据库查询,那么我会说游标是最好的。
将数据存储在 SQLite 数据库中。您永远不应该在内存中存储“数千行数据”......始终将持久数据存储在磁盘上。