2010-11-19 35 views
3

Uygulamam için çok uzun bir başlangıç ​​zamanı araştırmaya çalışıyorum ve biraz yardım alabilirim. Başlamak için yaklaşık 6-7 saniye sürüyor ve bu sadece çok uzun FAR. Herhangi bir veri setini veya herhangi bir şeyi yüklemiyorum, ancak uygulama bir hesap makinesidir, bu yüzden benim xib'im çok sayıda butona ve butona sahip.iPhone Uygulamasını Başlatma Saatini Başlatma

Enstrümanlarımı (veya başka bir şeyi) her zaman harcamak için nerede harcandığını analiz etmek için kullanmak isterim, ancak Cihazların dokümantasyonu bana gerçekten nasıl kullanılacağı konusunda çok şey vermiyor Bu özel problem ve/veya sonuçların nasıl yorumlanacağı.

Bunu test etmek için nasıl bir öneriniz var mı? Bunun için Aletleri nasıl kullanacağına dair bir öğreticiye bir işaretçi? Bir iTunes U videosu veya başka bir şey?

Herhangi bir öneride bulunabilirsiniz!

Kenny

+1

Yanıtlamakla ilgilenenler için sadece bir hatırlatma, özellikle neden yavaş olduğunu araştırmıyorum, Araçlar gibi profil oluşturma araçlarını kullanma hakkında bilgi edinebileceğim bir öneri arıyorum. sebep. Balık avı el kitabı değil balık buluyorum. :) –

+0

Sorduğun günden beri biraz zaman geçti ... muhtemelen bu problemi çözdün. Belki kendi cevabını verebilir misin? – Palimondo

+1

Yavaşlama çıkışlarını tanımlamak için profil oluşturma araçlarını kullanma konusunda _learn_ ile ilgili mükemmel bir cevap bulamadım. Aşağıda, uygulamamın başlatılma süresini nasıl azalttığımı açıklayan bir yanıt ekleyeceğim. –

cevap

1

yukarıdaki önerilerden hiçbirini yapmadan önce? Ya da doğrudan iPhone'da dokunarak başlayarak mı? onlar sadece yükü eklemek ve bu göreceksiniz verileri zehirler çünkü profilleme kadar yardımcı olmayacaktır çünkü

Debugger'lar ve aletleri, çok burada yardımcı olmayacaktır.

Düzenleme:

araç profilleri açısından, sen Shark kullanarak içine bakmak isteyebilirsiniz: http://www.switchonthecode.com/tutorials/using-shark-to-performance-tune-your-iphone-app

Genel olarak kullanmak oldukça basit. Sorta kendini açıklayıcı.

+0

Hayır, bu telefondaki 6-7 saniyelik başlangıçtır. Hata ayıklayıcı, xcode yok, vb. Profilleyicilerin ek yükü ekleyeceğini anlıyorum, ancak darboğazları ve benzerlerini bulmak için hala oldukça kullanışlıdırlar. –

1
İşte

olan önerilerin çift:

  • tüm bu düğmeler seferde kadar yükleme gerekiyor?
  • Görüntülerinizdeki saydamları kullanıyor musunuz (fazla)?
  • Resim tam boyutta ihtiyacınız var mı? Gerdirme (yeniden boyutlandırma),
  • hesaplamak için zaman alır ana iş parçacığını engelleyen herhangi bir işlem gerçekleştiriyor musunuz? XCode kaçarken

    bu 6-7 saniye mı:

+0

Tüm düğmeleri çıkarmayı denedim ve sadece başlangıç ​​zamanının yaklaşık 1 saniyesini aşıyor. Bariz potansiyel yavaşlamaların hepsini denediğime inanıyorum ama suçluyu bulamıyorum. Bu yüzden neyin yanlış olduğuna dair bir öneriye bakmıyorum, ancak profillemenin nasıl yapılacağını öğrenebilmem için işaretçiler arıyorum, bu yüzden bunu doğru bir şekilde araştırabilir ve yavaşlamanın nerede olduğunu bulabilirim. –

+0

Tüm sorularınıza cevap vermek için. Hayır, ön taraftaki tüm düğmelere ihtiyacım yok, ama ben 0 düğmeyi yüklesem bile, hala başlamak için 5-6 saniye sürüyor. Düğme görüntülerinde üzerlerinde asetat var, ancak bunları yüklemeden kaldırdım. Başka şeffaf görüntü yok. İlgili tüm görüntüler kendi boyutlarında, yeniden boyutlandırılmadan kullanılır. Hiçbir işlem ana iş parçacığını engellemiyor. Arka planda bir görev üretiyorum ama ana konuyu engellemediğini doğruladım ve aynı zamanda soruyu kaldırmak için yorumda bulundum. Düğmeye 1 sn. Diğerleri, fark edilir bir şey yok. –

0

Ben gerçek cihaz üzerinde boş bir kukla app (belki XCode Window tabanlı uygulama şablonu) başlatma süresini ölçmek olacaktır (ayıklayıcı bağlantısı). Ardından, başlatma zamanınızı en çok yavaşlatan şeyi bulana kadar başlatma kodunuzu, görünümlerinizi ve nesnelerinizi bu kukla uygulamaya uygulamanıza eklemeyi deneyin.

2

Palimondo Sonunda benim problemi nasıl çözdüğünü sordu ... küçük değişikliklerin bir demet oldu ve tasarruf oynamak için geldi ve neden aşağıda açıklayacağım nerede gerçekten emin değilim.

Uygulamam bir hesap makinesi, bu yüzden düğmeleri bir ton vardır. İlk başta sorunun neden olduğu düğme yüklemesi olması gerektiğini düşündüm, ama yukarıdaki yorumlarda açıkladığım gibi, Paul'e yazdığımda, 0 butonu yüklemiş olmama rağmen, bu sadece başlangıç ​​zamanının 1 saniyesini aştı. Birçok küçük şeyi değiştirdikten sonra, yeterince iyi olan başlangıç ​​zamanından 3 saniye sonra tasarruf edebiliyordum.

Ben güzel dokulu-gradyan-imsi görüntüydü bir arka plan görüntüsü vardı. Üzerindeki dosya boyutunu indirdim (dokuyu değiştirdim, farklı seçeneklerle dışa aktardım).

Önceden 100 düğmeyi yüklemekten (hesap makinesi) 15'e kadar yükleme yapmaktan kurtuldum, ancak kullanıcının bunu fark etmemesi için gizli bir şekilde yapmaya çalıştım. Düğmelerin yaklaşık 50 tanesi, başlamak için bir Shift düğmesine basmanız gerektiğinden, bu nedenle, başlangıçta kolayca yüklenemeyecekleri için görünür olmayacaktır. Diğerleri görülebilir, ancak kullanıcının ilk başta bazı sayılara ulaşması gerektiğinden başlangıçta bu hakların çoğuna dokunmayacağını düşündüm. Bu yüzden tüm sayı tuşlarını ve xib'deki Clear düğmesini bıraktım, böylece başlangıçta yüklenir, fakat xib'den diğer her şey kaldırılır.

Ekranda büyük bir boş alan bıraktım ve boşlukları doldurarak boş alandaki düğmeleri görebiliyordum (çok çabuk doldurdu, ancak boş alanı görebiliyordunuz ve tüm düğmeler beliriyordu)). Bu yüzden, düğmelerin resimlerini içermek için arka plan degrade grafiğini güncelledim. Düğmeler orada görünür, ancak, öyle değil, bu yüzden kullanıcı 2 saniye içinde sahte bir düğmeye basmazsa, bir sorunla karşılaşmazlar ... ve genellikle sadece yine de bu düğmeye tekrar dokunmaya çalışırlar ve sonra genellikle tembel yüklü ve bu nedenle çalışır.