【问题标题】:Android: Best way to populate ListView from native data sourceAndroid:从本机数据源填充 ListView 的最佳方式
【发布时间】:2014-06-26 10:15:44
【问题描述】:

我要移植的大部分应用程序都是用 C++ 编写的。我需要使用从本机代码检索的数据在 ListView 中显示大量行。

例如,我有 50,000 行数据 - 实际上是歌曲名称。我担心性能变慢,也担心不必要地使用大量内存。

填充 ListView 的最佳方式是什么 - 我应该:

  1. 获取 JNI 代码以通过以下方式填充 所有 项的 ArrayList 从 C++ 调用 add() 调用?
  2. 一些如何仅填充 ListView 实际请求的可见 行数?
  3. 别的东西

碰巧我正在检索的数据也在 SQLite 数据库中 - 不确定这是否有帮助。理想情况下,我希望将所有数据库访问保留在 C++ 代码中,但在开始执行此任务之前,我愿意接受建议。

【问题讨论】:

    标签: android listview arraylist java-native-interface native


    【解决方案1】:

    正如您提到的 SQLite 数据库中可用的数据,您可以使用 Android 中可用的 SQLite 相关类从 Android 应用程序层访问此 SQLite 数据库。它可以帮助您通过 JNI 层对数据进行额外处理。此外,列表项的修改将直接在 SQLite DB 上完成,而不是通过 JNI 层传递数据并在本机层更新相同的数据(这里我猜是它的 C++)。

    【讨论】:

    • 好的,我想这可能是要走的路。从理论上讲,我希望开销更少,并且希望有比调用 add() 50,000 次更好的方法。谢谢。
    猜你喜欢
    • 2011-11-29
    • 2010-10-05
    • 2012-11-01
    • 2018-04-24
    • 2018-07-30
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多