2011-02-03 29 views
6

'da yerel (Office ve iWork) dosyaları yüklenirken bellek ani artışlarını denetleme UIWebView kullanarak, Office (ppt, xls, doc) ve iWork (sayılar, sayfalar, anahtar) biçimlerinin yerel dosyalarını açmak için kullanıyorum. boyutunda. Onları yüklemek için, ben sadece yapın:UIWebView

NSURL *url = [NSURL fileURLWithPath:filepath];  
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[myWebView loadRequest:requestObj]; 

web görünümündeki bu dosyalarda (bunlardan görüntülerin çok sayıda özellikle PPTs) bazılarını yüklerken, bellek kullanımı neredeyse 35 MB'a kadar vuruyor çökmesine Uygulamamı neden . Çeşitli iOS forumlarına baktım ama gerçekten bir çözüm bulamadım. LoadData kullanıyor mu: MIMEType: textEncodingName: baseURL: bellek ayak izini azaltmaya yardımcı olur veya UIWebView'ı kullanmanın başka hileleri var mı?

+0

Web görünümünün içinde dosyaları mı görüntülüyorsunuz ya da dosyaları doğru dosyayı açacak şekilde dosyaları indirmek için web görünümünü mi kullanıyorsunuz? –

+0

Sadece dosyayı yukarıda gösterilen kodla yüklüyordum. Her neyse, bu iOS5 öncesiydi, UIWebView için performans geliştirmeleri yapıp yapmadıklarını doğrulamak zorunda kalacaklar. Artık bu proje üzerinde çalışmıyorum. – Sushant

+0

@Sushant 35MB, en azından önümüzdeki 3 yıl boyunca her zaman bir sorun olacaktır. – SayeedHussain

cevap

0

Bir çarpışma durumunda durum böyle olmamalıdır. 35MB RAM kullanan bir uygulama çok fazla değil. Statik analiz cihazını kaçaklar için çalıştırmanızı öneririm. Ayrıca, ne tür bir çarpışma elde edersiniz? Bellek uyarılarının çökmeden hemen önce mi yayınlandığını görüyor musunuz?

+0

35MB RAM kullanan bir uygulama çok fazla değil. Dalgamı geçiyorsun? OS, 14-15MB'de bellek uyarıları atmaya başlar. Arka planda çalışan düzinelerce ve işletim sisteminin kendisine yüklenen RAM'i düşünün ve 14-15MB'ın neden güvenli bellek eşiği olduğunu anlayacaksınız. – SayeedHussain