Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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(Android)文件对象速度太慢,无法执行异步任务_Java_Android_Android Asynctask_Sleep - Fatal编程技术网

Java(Android)文件对象速度太慢,无法执行异步任务

Java(Android)文件对象速度太慢,无法执行异步任务,java,android,android-asynctask,sleep,Java,Android,Android Asynctask,Sleep,在我正在开发的Android应用程序中,我需要创建一个文件的备份,并在启动时检查它是否与远程文件相同,如果它们有不同的字节,然后用远程文件覆盖备份,然后检查它们是否相同,如果相同,返回true。为此,我有以下过程: if(!backupFileExists(){ backupFile.createNewFile(); } if(!checkBackupAndRemoteFilesAreIdentical()){ <----First Time if(overwriteB

在我正在开发的Android应用程序中,我需要创建一个文件的备份,并在启动时检查它是否与远程文件相同,如果它们有不同的字节,然后用远程文件覆盖备份,然后检查它们是否相同,如果相同,返回true。为此,我有以下过程:

if(!backupFileExists(){
     backupFile.createNewFile();
}

if(!checkBackupAndRemoteFilesAreIdentical()){ <----First Time
    if(overwriteBackupFileWithRemoteFile()){
        if(checkBackupAndRemoteFilesAreIdentical()){ <---- Second Time
            return true;
        }
    }
}
return false;
如果(!backupFileExists(){
backupFile.createNewFile();
}

如果(!checkbackupandremotefilesareidential()){这是正常现象,则网络操作将比加载第一个活动花费更长的时间。 如果您的第一个活动需要此文件(或其中的一部分)才能工作,则您需要从服务器获取它(是的!在异步任务中),并更新应用程序将依赖的对象。将应用程序逻辑/设计与数据源解耦

这个问题是一个一般性的问题,我们通常做的是,我们从服务器获得的第一个活动的数据很少,然后,当用户导航到其他屏幕时,数据将在此阶段可用。 我建议您考虑一下您的应用程序数据设计。在每个步骤中需要哪些服务器数据以及如何更新这些数据。如果您是服务器的所有者,并且能够创建新的端点,请尝试设计快速端点、减少数据量、公开“http头”操作以仅获取内容长度。。。
如果您有更多关于您试图构建的内容的详细信息,我将非常乐意详细介绍。

您应该写一篇更好的文章。您的文章中没有文件对象。没有asynctask。而且您似乎没有意识到asynctask是异步工作的。您应该只在onPo中处理此下载的检查stExecute。所以把最后一个if语句放在那里。
checkbackupandremotefilesareidential()
您在该函数中也使用了异步任务吗?还是线程?那么它应该是一个void函数。