2013-09-27 27 views
8

Xcode'ta bir iOS uygulamasında çalışıyorum. Daha erken başladım ve sınırlı bir işlevsellik seviyesine kadar koştum. Daha sonra, el değmeden üretilen kireçtaşının oluşturduğu kodun sözdizimi hataları olduğunu iddia eden derleme hataları vardı. Kaynak kodu yeni bir projeye kopyalamak farklı bir soruna yol açar.Daha önce başlatılan bir uygulamaya nasıl hitap edebilirim, ancak "Bellek Basıncı nedeniyle sonlandırılmış" şimdi mi?

Şu anda, derlemek ve yayınlanmaya başlaması, ancak bu bile fırlatma görüntü uygulaması nedeniyle bellek baskısı kapatıldı gösterir önce devletler olabilir. Toplam görsel varlıklar 272M civarındadır ve bu da grafiksel zenginliklere zarar vermeden optimize edilmiş olabilir ve şimdiye kadar programın tek alanı geniş olması beklenmektedir. (Varlıklar hafızada tutulabilir veya olmayabilir; örneğin her mevcut yükleme görüntüsü doldurulur ve kodum programlı olarak herhangi bir yükleme görüntüsüne erişmez.) Yükleme görüntüsünün kendisi yüklenmeden önce kilitlenir.

Nasıl bu bellek sorunu ele alabilir ? Görüntülerin işlenme şeklini zayıflatabilirim, ancak başka bir kök neden olduğundan şüpheleniyorum. Yoksa bu aşırı hafıza tüketimi mi?

sayesinde

+1

Sen 272 MB kullanıyorsunuz? Bu iPhone 4S veya eski cihazlarda hemen öldürülecek .. iPhone 5 bunu halledecek, ancak bu lansmanda doğru tüketmek için büyük miktarda bellek. –

+1

Uygulama başlatması sırasında yaklaşık 300 MB görüntü yüklemeye mi çalışıyorsunuz? – Wain

+0

Kabul ediyorum, tembel yükleme - yükleme kaynağını yalnızca görüntülenmesi gerekiyorsa kullanmanızı öneririm. –

cevap

4

İnceleme Apple'ın iOS Programlama belgelerin Performance Tuning bölümü. Uygulamanızın nasıl, ne zaman ve ne kadar bellek kullandığını belirlemek için Apple'ın Instruments uygulamasını kullanın. Eğer düşünmelisiniz

Bir yaklaşım uygulamadan grafik kaynaklarını kesmek ve bir-birer onları tekrar eklemenin onlar şartları ve iOS sınırlamaları karşılamak hissetmek kez etmektir.

Şimdi benim cevap bu kısmı görüşü: Uygulamanız bu uygulama için amaçlanan hedef olduğu durumda, App Store reddedildikten için yüksek risk gibi geliyor.

+1

+1: Katılıyorum, bu başlangıçta ilk kez çok fazla bellek kullanıyorsanız, uygulama mağazası incelemesiyle bunu yapmakta sorun yaşarsınız ... Bunu optimize etmeniz gerekir. –

+0

Teşekkür ederim. Toplam lansman görüntülerini önemli ölçüde azaltması gereken en az bir optimizasyon biliyorum ... ama büyüklüğün büyük bir kısmı lansman görüntüleri. – JonathanHayward

+0

görüntülerde hızlı bir ipucu: iOS diskteki bir 600x600 görüntü varsa, örneğin (kullanmak ama sadece retina ekranda 300x300 olarak göstermek, 300x300 kaynak görüntüyü yeniden boyutlandırmak olacağını maksimum boyut böylece resimlerinizin boyutunu). – bneely

İlgili konular