एक ऐसी वेब सेवा है जो कुछ ऐप प्रदान करती है जिसका मेरा ऐप उपयोग करता है। यह डेटा काफी बड़ा है और केवल बहुत ही बार बदलता है इसलिए मैंने सोचा कि यह अच्छा होगा अगर ऐप इसे एसडी कार्ड पर कैश कर सकता है और केवल इसे आवश्यकतानुसार अपडेट कर सकता है।एंड्रॉइड पर डेटा रखने के लिए सिफारिशें?
वर्तमान में मैं डेटा (एक एक्सएमएल फ़ाइल) को पकड़ रहा हूं और SAX का उपयोग करके ऑब्जेक्ट पेड़ में इसे पार्स कर रहा हूं। यह प्रक्रिया मेरे वाईफ़ाई पर 2-3 सेकंड (अधिकतर) लेती है। हालांकि, परिणामी ऑब्जेक्ट्स को एसडीकार्ड में क्रमबद्ध करने में काफी समय लगता है (एक मिनट या उससे अधिक) और deserializing इसे अभी भी पहले स्थान पर डाउनलोड/पार्सिंग से अधिक समय लगता है।
क्या किसी के पास इस डेटा को जारी रखने के लिए इस या वैकल्पिक विचारों को सुधारने के लिए कोई सिफारिश है (केवल XML फ़ाइल को सहेजने और हर बार पुनर्स्थापित करने के अलावा)?
अद्यतन: यह रिकॉर्ड के एक छोटे से संग्रह से अधिक है। ऑब्जेक्ट-ग्राफ वास्तव में हास्यास्पद रूप से जटिल है और इसे डेटाबेस में संग्रहीत करने के परिणामस्वरूप दर्जनों टेबलों में से प्रत्येक में केवल एक ही रिकॉर्ड होगा।
मैं सर्वर से सीधे एक्सएमएल फ़ाइल को संग्रहीत करने पर गंभीरता से विचार कर रहा था (और शायद होगा) ... जब भी डेटा की आवश्यकता होती है तो यह ऑब्जेक्ट को deserializing की तरह लग रहा था "एक्सएमएल फ़ाइल को दोबारा करने से तेज होना चाहिए"। –
ऑब्जेक्ट सीरियलाइजेशन काम करता है क्योंकि यह बहुत सामान्य है, और जेनेरिक कोड बहुत धीरे-धीरे चल सकता है। इसके अलावा, भंडारण बहुत बड़ा है; मुझे लगता है कि मैंने 10+ किलोबाइट्स से फ़ाइल आकार घटाया है जिसमें सीरियलाइजेशन के तहत एक किलोबाइट (जो मेरे जेएसओएन को गेजिंग करता है)। –