gpt4 book ai didi

javascript - 使用 PhoneGap/Cordova 写入文件期间 iOS UI 卡住

转载 作者:行者123 更新时间:2023-11-28 07:54:51 26 4
gpt4 key购买 nike

我正在使用标准 PhoneGap 插件通过 HTML5 写入本地文件。在后台,我的应用程序从服务器下载数据,然后将其保存到磁盘。典型的文件大小约为 20Mb。

如果用户在写入时滚动屏幕或进行其他 UI 操作,我的应用程序将在运行 iOS7 的 iPad 2 上卡住一两秒。文件写入操作被包装在 setTimeout 调用中(因此它不会阻塞主线程),但这似乎没有帮助。

XCode 控制台在文件写入过程中报告此情况(感觉延迟发生大约一两秒,而不是此处暗示的 200 毫秒):

线程警告:['文件'] 花费了“93.378906”毫秒。插件应该使用后台线程。线程警告:['文件'] 花费了'125.793945'毫秒。插件应使用后台线程。

我可以做什么来避免延迟?如何诊断哪里发生了滞后?

最佳答案

setTimeout结束文件写入操作并不能防止主线程被阻塞,你从哪里得到的?它只是延迟了包装函数的执行,这对您来说根本没有帮助。

尽管如此,我什至不认为这是你真正的问题,因为文件插件的写操作已经是 wrapped up for execution in a background thread ,它告诉您 iOS 插件源代码中的链接行。

我的猜测是还有其他一些事情发生,阻塞了你的 UI 线程。您到底调用了插件中的哪些函数?当出现 UI 滞后时,尝试调试/分析整个过程,例如在 Safari 远程调试器中。

如果这对您没有帮助,您应该发布更具体的代码,这些代码可以提供一些有关正在发生的情况以及问题可能是什么的提示。

关于javascript - 使用 PhoneGap/Cordova 写入文件期间 iOS UI 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26233012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com