1

Android と iOS の両方のプラットフォーム用のアプリを開発しています。私のアプリには、外部 src を持つ多くの画像もあります。
接続があれば、画像は正しく表示されます。アプリを閉じて機内モードにしてアプリを起動すると、画像は Android のブラウザー キャッシュから表示されますが、iOS では表示されませんか? iOS は phonegap アプリを閉じた後にブラウザーのキャッシュをクリアしますが、Android はクリアしませんか? または私はここに何かが欠けていますか?

4

3 に答える 3

1

リポジトリHTMLにmanifest.phpを作成し、phoneGapアプリでプライマリHTMLファイルを読み込む必要があります。これは、キャッシュ内のWebアプリを表示する方法であり、デバイスがオフラインのときも同様です。

thaはphpファイルのコードです:

<?php
header('Content-Type: text/cache-manifest');
echo "CACHE MANIFEST\n";
$hashes = "";
$dir = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($dir) as $file) {
    if ($file->IsFile() && $file != "./manifest.php" && substr($file->getFilename(), 0, 1) != ".") {
        echo $file . "\n";
        $hashes.= md5_file($file);
    }
}
echo "# Hash: " . md5($hashes) . "\n"; ?>

これは、ページでコードを開始するために上部にあるhtmlファイルに必要なコードです。

<html manifest="manifest.php">

楽しみ。

于 2011-11-30T11:44:50.113 に答える
1

この質問には、それに関する情報がいくつかあります。(UIWebViewを使用していると思います。)ただし、その質問が書かれた時点で、iPhoneのURLキャッシュシステムでいくつかのバグが発生していました.それらのバグが修正されたかどうかはわかりません.

于 2011-11-30T11:17:41.940 に答える
1

このように取得したキャッシュディレクトリの話なら

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [paths objectAtIndex:0];

以前はそのまま残されていましたが、iOS 5 以降ではクリアできます。この関連記事を参照してください。Apple は iOS のベータ版でこの問題を修正しています (iTunes または iCloud に同期されない永続的なキャッシュ ファイルの可能性を考慮して)。

于 2011-11-30T11:19:41.080 に答える