Я разработал iPad-приложение с несколькими UIWebViews, которое использует следующие HTML и JavaScript. Поскольку iPad может воспроизводить только одно видео за раз, я не загружаю видео до тех пор, пока не будет сфокусировано конкретное веб-представление.
Это делается путем вызова метода stringByEvaluatingJavaScriptFromString в UIWebView, отправляя вызов метода JS getFocus(). Точно так же, когда веб-просмотр больше не нужен, я вызываю lostFocus(), чтобы выгрузить видео. Это позволяет другому UIWebView воспроизводить другое видео.
До сих пор так хорошо. Все работает отлично. За исключением одного: Это вызывает утечку памяти. При просмотре
Я попытался перезагрузить UIWebView (вместо выгрузки видео с помощью JS), это не сработало. Я также попробовал миллион различных вариаций JavaScript, вариантов тегов и т.д.
<div id="videoDiv"></div>
<script type="text/javascript">
var movieDiv = document.getElementById('videoDiv'),
movieHtml = '<video id="video" src="../Documents/<%= VideoFileName %>" width="768" height="911"></video>';
var gotFocus = function () {
movieDiv.innerHTML = movieHtml;
var movie = document.getElementById('video');
movie.play();
movie.addEventListener('pause', function () {
movie.currentTime = 0;
movie.play();
}, false);
};
var lostFocus = function () {
movieDiv.innerHTML = '';
};
</script>