Uygulamam GPX dosyalarını (XML) alabilir ve sonra XML ve GPX ayrıştırma harika bir iş yapar harika XML Dictionary kütüphane kullanabilirsiniz, ama bu durumda Denemek ve ayrıştırmak istediğim 85MB'lık bir dosya. Devasa 16.000'den fazla GPX yol noktası içerir.Büyük bir XML dosyası ayrıştırılamıyor nasıl bellek tükendi değil
Şu anda NSURL
'u NSData
içine okudum ve ayrıştırıcıyı kullanın. Ama büyük dosya ile çalışırken bellek uyarıları ve çökme olur.
Böyle büyük bir dosyanın ayrıştırılmasını nasıl yapılandırabilirim, böylece bellek hataları almıyorum?
'XML Dictionary'' NSXMLParser' işlevini kullanmaktadır. Ne farklılar? –
Github projesinin ana sayfasında açıklamayı okuyun. XML Sözlük, tüm XML belgesini temsil eden büyük bir ağaç ağacı oluşturuyor. NSXMLParser'ın yaptıklarının ötesine geçen bu ekstra yük, bellek sorunlarına neden oluyor. Esas olarak XML dosyasının 3 kopyası bellekte var. 1) Tüm dosyanın tam "NSData". 2) XML Sözlük tarafından oluşturulan dev ağaç. 3) Ayrıştırılmış XML'i işledikten sonra kendi veri modeliniz. # 1, tüm dosyayı belleğe yüklemek yerine XML dosyasına bir akış açarak önlenebilir. Ve sadece NSXMLParser kullanarak # 2'den kaçınabilirsiniz. – rmaddy
Orada yapan herhangi bir yardımcı sınıf var mı? NSXMLParser'ı kullanarak bahsettiğiniz şekilde bir akış açma hakkında orada çok az bilgi buluyorum. –