0

これは、40 MB の xml ファイルを操作するための 2 つの部分からなる質問です。

• バックグラウンドで継続的に実行されるプログラムのメモリに保存する妥当なサイズはどれくらいですか?
• XML ファイルで変更された内容を見つける方法。

そのため、最初の読み取りで XML が NSData にロードされ、サーバーにアップロードされます。

変更のたびに 40 MB の XML をアップロードするのではなく、変更された部分だけを含む「デルタ」ファイルをアップロードすることをお勧めします。プログラムはファイルの変更を監視し、変更されたときにアクティブ化します。私が見ることができることから、古いバージョンのxmlファイルを解析し、変更されたxmlファイルを解析してから比較する必要がありますか? ファイルが変更されるたびに、このようにメモリに 80 MB を格納するのは不合理ですか? ファイルの一部しか保存されていないため、そのような2つのファイルをSAXパーサーと比較する方法がわからないため、これはDOMパーサーで行う必要があると思いますか?

私はこれで初心者なので、どんな助けでも大歓迎です!

4

2 に答える 2

0

NSXMLParserは、このために最も有用であることになりました

于 2013-01-09T05:50:06.687 に答える
0

2 つのファイルを比較するには:

行うには多くの方法があります (ファイルが考慮されるため、私は正しくない可能性があります)。

sdiff file1.xml file2.xmlUNIX コマンド このコマンドは、Apple スクリプトで使用できます。

-[NSFileManager contentsEqualAtPath:andPath:] このメソッドは、指定されたパスにある 2 つのファイルが同じファイルであるかどうかを確認し、次にそれらのサイズを比較し、最後にそれらの内容を比較します。

他の部分:

バックグラウンドプロセスで考慮されるサイズは、アプリケーションにとって重要だとは思いません。これらを一時ファイルに保存できます。アクティビティ モニターで簡単に確認できるため、サファリでも 130 MB 以上を使用します。

于 2012-11-29T05:26:16.260 に答える