2011-01-26 23 views
9

çöküyor Uygulamamın Paylaşımlıları, uygulamanın kapalı veya sistem tarafından herhangi bir nedenle öldürülmesi durumunda tamamen sıfırlandığını fark ettim. Açıkçası, evet, ilk başta bir kaza geçirmekten kaçınmalıyım ama gerçekleşir. Bu gerçekleşirse, kullanıcı tüm ayarlarını ve Tercihler ile saklanan diğer verileri kaybetmemelidir.Paylaşılan Tercihler, uygulama kapalıyken kilitleniyor veya

this thread on Google Groups buldum ama çözemediler.

Bunun neden ve nasıl gerçekleştiğine dair herhangi bir kavrayış var mı? Bunu önlemek için bir yol var mı?

Ayrıca, bunu 2.1 ve 2.2 cihazlarında gördüm. Her kazada, sadece bazılarında olmaz.

Teşekkür etrafında kazma bazı sonra

+1

Tercihlerinizi düzenledikten sonra mı çalışıyorsunuz? – Falmarri

+0

Yep. Normal yaşam döngüleri boyunca sadece iyi çalışırlar ve hatta uygulamayı bir görev yöneticisi ile kapatırlar. Sadece bir çarpışma/kuvvet kapanışı sıfırlamak gibi görünüyor. – cottonBallPaws

cevap

9

nihayet sorunun kaynağını keşfetti. Kodumdaki bir hata aracılığıyla, bir dize tercihi boş bir anahtarla kaydediliyordu. Böylece, Preferences yüklemeye gittiğinde çökmeden sonra tercihler xml dosyasında bir boşluk vardı ve bu da tercihlerin çökmesine ve sıfırlanmasına neden oldu. Bazı nedenlerden ötürü, ilk çöküşün sadece acil sebebi olan tercih yığınının yığın izini almıyordum. tercihleri ​​kadar ve kuvvet kapatma düğmesi basın yoluyla bozulmadan kaldı sahiptir

xml dosyası:

Sadece başka gelecekte benzer bir sorun vardır, bir kişinin biraz daha ayrıntı eklemek için. Ancak, paylaşılan tercihlere bir daha erişildiğinde, xml dosyası temizlendi ve yeniden başlatıldı.

+1

Takip için teşekkürler. Bununla da biraz uğraştım. Bu kadar kolay tespit edilemediğinde, bir şekilde arkamda bıraktığım boş bir anahtar aramam gerekti. – mmeyer

+0

@littleFluffykitty: sqlite verileri de zorla kapatıldı mı? – Ashwin

+0

Aynı türde bir sorun yaşadım. Ve verileri depolamak için kullanılan dosyalar. Uygulama kilitlendiğinde, silinmez/silinmez. Ayrıca, bu dosyadan okuduktan sonra Application onCreate uygulamasında paylaştırılmış alanı yükledim. – jrhamza

İlgili konular