5

私の Phonegap アプリには、iOS6 では発生していなかった iOS7 のメモリの問題があることに気付きました。

  1. 多くの画像を含む長い iScroll リスト
  2. 携帯電話のアルバム (9mp) から画像を表示すると、数回表示するとクラッシュします。

#1 については、デバイスに関係なく、これは iOS6 では決して問題ではありませんでした。

#2については、同じDIV要素を再利用して次の画像を表示しているため、前の画像がクリアされていないようです。

この投稿で言及されている手法は、iOS7 では機能しないようです: Javascript で画像を読み込むと iPad/iPhone ブラウザがクラッシュする

4

1 に答える 1

3

私が見つけたこの問題の最良の解決策は、次のコードです。

var img = document.getElementById('imageID');
img.parentNode.removeChild(img);
img.src = 'data:image/gif;base64,' + 
      'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
setTimeout(function() {
img = null;
}, 60000);

これにより、src 属性が小さな gif に設定され、ガベージ コレクションが最終的に発生するまで十分な時間待機します。

参照: http://www.fngtps.com/2010/mobile-safari-image-resource-limit-workaround/

これはうまくいくはずです。Xcode インストルメントを使用して、メモリが解放されたことを確認できました。残念ながら、この解決策は、私が使用しているホームスクリーン アプリでは機能しないようです。

于 2013-11-05T10:21:01.527 に答える