2010-06-20 30 views
5

Şu anda Android OS kullanan cep telefonlarının kamera tarafından çekilen görüntülerin işlenmesi için bir uygulama geliştirmeyi düşünüyorum. İleri gitme kararını vermeden önce, bazı araştırmalar yaptım ve , Dalvik VM tarafından tahsis edilen no'lu bellek limitleri ile ilgili bazı şikayetler olduğunu öğrendiler. Bu, manipülasyon ve işleme gerektiren uygulamalara Görüntüler. i örneğin benim süreçte, kamera ile çekilen 3 fotoğraf işlemek zorunda kalacağını hangi sınırlar i filtreleri, dönüşümleri ve matematiksel işlemlerin diğer türleri uygulayarak, akılda olmalı?Dalvik Bellek Ayırma - Varsayılan sınırlar nasıl değiştirilir?

, Android 1.6 işletim sistemi kullanan herhangi bir şekilde, her bir uygulama ( 16 MB olan bu varsayılan) için Dalvik VM tarafından tahsis bellek varsayılan değeri değiştirmek mümkün olup olmadığını bilmek istiyorum

. Lütfen bana yardımcı olabilecek modeline bakın?

Ben de (burada mevcut: http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/pt-PT//compatibility/android-2.1-cdd.pdf ) Android 2.1 uyumluluğu tanım belgesinde okudum 24 MB hatta daha büyük 16 MB ila Dalvik VM tarafından bellek tahsisi değiştirmek mümkündür Gerekli ise miktar, ancak , bunun nasıl yapılacağı konusunda hiçbir yerde belirtilmemiştir. Birisi önce bu konularda içine baktı ve bana bazı yardım ya ipuçları verebilir

, büyük mutluluk duyacağız. Teşekkür ederiz. Eğer uygulamanın yığın-limitlerini değiştiremezsiniz bir olağan cihazda

+0

: Bunları, örneğin, adb shell SetProp aracılığıyla varsayılan küresel yığın boyutunu değiştirebilir –

cevap

7

. OEM tarafından kodlanmıştır. Tam kontrole sahip olduğunuz bazı cihazlar için geliştiriyorsanız, Dalvik başlangıç ​​betiklerini daha fazla yığın alanına izin verecek şekilde değiştirebilirsiniz.

+0

başına 24 MB de zaten üzerinde size nasıl bilgi var mı Uygulama başına daha yüksek varsayılan yığın boyutuyla ilgili Dalvik başlangıç ​​komut dosyalarını değiştirebilir misiniz? Telefonun bunun için köklenmesi gerekiyor mu? Tam kontrolde olacağım bir cihazla birlikte paketlenecek/dağıtılacak bir uygulama geliştiriyorum. –

+2

Telefona tam erişime sahip olmanız, başlangıç ​​komut dosyalarının değiştirilmesi kök kaynak anlamına gelir. Kök erişime sahip olmanız durumunda - düzenleme init betiği (root/init dizinindedir).rc) ve için bakınız "setprop ro.FOREGROUND_APP_MEM 1536" – reflog

+4

Dalvik'in yönetilen yığın sınırı için, sağlayıcıyı/[şirket]/[ürün] /system.prop dosyasını düzenlemek ve eklemek veya güncellemek istiyorsunuz "dalvik.vm.heapsize = 24m ". Bu /system/build.prop dosyasında sona erer ve sonunda bir -Xmx argümanına dönüşür. – fadden

2

AVD en Config.ini içinde vm.heapSize öğeyi değiştirerek bunu değiştirebilir. Örneğin, config.ini içinde

vm.heapSize=64 

yazabilirsiniz. Böyle bir öğe yoksa, yeni bir tane ekleyebilirsiniz.

Ancak vm.heapSize cilt tarafından geçersiz kılınabilir dikkatinizi çekeriz. Cildin yolunda bir hardware.ini vardır ve vm.heapSize ve hw.ramSize varsayılan değerlerini içerir, bu da değerinizi geçersiz kılabilir. Bu sorunu gidermek için şunları

skin.path=720x1280 
skin.name=720x1280 

numaraları önemli değildir belirleyebilir, bu (genişlik) x (yükseklik) şeklinde olmalıdır. Btw

setprop dalvik.vm.heapsize 128m 
1

Nexus One varsayılan yığın boyutu app
İlgili konular