Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序可能在其主线程上做了太多工作。如何修复它_Java_Android - Fatal编程技术网

Java 应用程序可能在其主线程上做了太多工作。如何修复它

Java 应用程序可能在其主线程上做了太多工作。如何修复它,java,android,Java,Android,当我从缓存中获取大量数据(以视频的形式)时,应用程序会在长时间延迟后做出响应。如何解决或修复它 执行长时间运行或计算量大的任务时,您应该更喜欢在后台线程上执行(即,与UI线程分离) 如果UI线程处于繁忙状态超过5秒,您将在应用程序上看到ANR,但即使在不到5秒的时间内,用户操作(单击、滚动)也会出现明显的滞后和延迟,并且日志中会出现与您看到的类似消息(Choreographer:跳过了XXX帧!应用程序可能在其主线程上做了太多工作。) 在后台线程上执行此类任务的一些方法有: / 另外,

当我从缓存中获取大量数据(以视频的形式)时,应用程序会在长时间延迟后做出响应。如何解决或修复它


执行长时间运行或计算量大的任务时,您应该更喜欢在后台线程上执行(即,与UI线程分离)

如果UI线程处于繁忙状态超过5秒,您将在应用程序上看到ANR,但即使在不到5秒的时间内,用户操作(单击、滚动)也会出现明显的滞后和延迟,并且日志中会出现与您看到的类似消息(Choreographer:跳过了XXX帧!应用程序可能在其主线程上做了太多工作。

在后台线程上执行此类任务的一些方法有:

  • /
另外,从后台线程更新UI时要小心,因为Android UI toolkit不是线程安全的


编辑:

对于从主线程卸载任务,您还可以使用:


在AsysncTask中执行此过程,将减少主线程上的工作量。请使用代码进行描述。使用asynctask或服务执行此过程。搜索示例,您会发现很多。您是否尝试过android:largeHeap=“true”在AndroidManifest.xml文件内的应用程序标记中?这个问题非常开放,在提问之前,您应该参考大量关于线程的android文档。谢谢,先生,但有一件事是,我的应用程序在使用此后台任务时运行良好,但数据将显示很少的下注时间。是否可能应用程序显示的数据很少e bet和当我向下滚动数据获取时。对于这种行为,您必须实现分页、延迟加载、Android的分页库等功能。如何使用分页或延迟加载Android?有什么想法吗,先生?对于实现分页或延迟加载,您可以这样做-假设在启动时,您的屏幕显示20项,第您应该先提取大约30个项目,然后继续提取更多项目。您可以根据使用情况设置启动时提取和后续提取的记录数。