我正在为我的应用程序制作一个视图列表,该列表显示用户设备中安装的所有应用程序。它显示应用程序的名称和图标。加载这个列表视图需要很长时间,并且在加载时UI无响应。我已经看到了一些延迟加载和异步任务教程的资源,但它们似乎都是从互联网获取图像。我需要延迟加载系统中的图像(即应用程序图标)。我也不知道如何使用异步任务来实现这一点。有人能帮我实现延迟加载或异步任务的应用程序图标吗?这是我的应用程序中非常重要的一部分,我将非常感激。谢谢。
问题的出现的原因是UI线程负担过重,程序在获取和加载图片的过程中会和UI同时等待,这可能导致程序意外关闭。解决方法是使用AsyncTask来将工作分配给单独的工作线程,并使用doInBackground方法获取图片和数据,使用onPostExecute方法更新ListView来显示数据。Lazy load的实现可以参考这个链接。
一般来说,推荐将整个列表的结果返回到onPostExecute方法中,然后异步地加载到ListView中。这样可以避免频繁地更新ListView,提高性能。
用户名或电子邮箱地址
密码