【问题标题】:Should I use an Async task in the description scenario?我应该在描述场景中使用异步任务吗?
【发布时间】:2014-09-07 00:33:32
【问题描述】:

我有一个由游标适配器支持的巨大 ListView,它有数十万个 if else 条件,bindView 中多行的单个标题,在这里复制它会超过允许的字符限制。

我在一个用于填充此列表的数据库中有某些记录,并且我有一个不同的外部数据库,我已经准备好与之建立连接,我想通过单击 ListView 的按钮从该辅助数据库中获取信息,我应该在这里使用异步任务或任何类型的处理程序?

信息非常轻量,有时只有大约 20 个字符的字符串。到目前为止,我还没有使用任何东西,但是我什至没有感觉到性能滞后——这里的最佳做法是什么?

【问题讨论】:

    标签: android android-asynctask android-handler


    【解决方案1】:

    一般来说,AsyncTask 应该用于与其调用者有关的事情。换句话说,如果它可能比它的调用者更长寿,它可能应该是一个服务或其他东西。在您的情况下,是的,AsyncTask 可以正常工作。

    但是,如果您几乎可以保证第二个 DB 调用将在几毫秒内返回,那么我就不用担心了。您更大的性能瓶颈(即使在单独的线程上)可能是:

    [具有] 数十万个 if else 条件的光标适配器

    这让我的维护者眼花缭乱。

    【讨论】:

    • 有一条给维护者的注释,上面写着// // Dear maintainer: // // Once you are done trying to 'optimise' this routine, // and have realized what a terrible mistake that was, // please increment the following counter as a warning // to the next guy: // // total_hours_wasted_here = 0; // 我没有太多选择,因为列表非常详细,每一行都不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    相关资源
    最近更新 更多