سؤال

انا تطوير تطبيق دوري يرسل المعلومات إلى خادم خارجي.اجعل نسخة محلية من البيانات التي يتم إرسالها ، لأغراض النسخ الاحتياطي.

ما هو الخيار الأفضل لتخزين البيانات من حيث توفير عمر البطارية?كل تقديم البيانات هو تسلسل كائن (فئة 5 الميادين ، بما في ذلك التاريخ والأرقام سلاسل) من حوالي 5K-10K.

أي فكرة ؟

هل كانت مفيدة؟

المحلول

ليس لدي أي فكرة من حيث عمر البطارية مباشرة ولكن أحد المعايير الذي هو أسهل لإدارة ؟ عدد أقل من عمليات لإدارة البيانات يعني أقل وحدة المعالجة المركزية دورات في تشغيل أطول للبطارية.

وأود أن أقول سكليتي الخيار الأسهل.يمكنك وضع عمود التاريخ في SQLite الجدول الذي يقوم بتخزين البيانات الخاصة بك مما يجعل إزالة القديم الطلبات التي لا تحتاج إلى أي مزيد من السهل جدا - و التعامل معها عن طريق SQL الأصلي المكتبة.إدارة حمولة كاملة من ملف - أو ما هو أسوأ ملف واحد - مع الخاص بك كود جافا سيكون أكثر من ذلك بكثير العمل.

بالإضافة إلى ذلك, يمكنك كتابة البيانات إلى قاعدة البيانات و انس الأمر حتى تحتاج إلى قراءته مرة أخرى.إذا كنت تخزين البيانات في الملفات, سوف تحتاج إلى العمل عندما يجب أن تكون القراءة والكتابة الملفات حيث على Android تطبيق دورة الحياة.إذا كنت قلقا حول البطارية ربما كنت لا ترغب في إرسال الملفات أكثر مما يجب ، بيانات ذاكرة التخزين المؤقت في الذاكرة, ولكن كنت بحاجة للتأكد من أنك لا تفقد أي بيانات عند التطبيق الخاص بك مؤقتا أو دمرت.في رأيي انه من الاسهل بكثير استخدام قاعدة بيانات SQLite و لا تقلق بشأن أي شيء من هذا.

نصائح أخرى

أنا لا أعتقد أنه يهم ما إذا كنت تستخدم SQLite أو ملف ، لأن سكليتي db هو ببساطة ملف على نظام (المخزنة في /data/data/<your_package>/databases/).سوف تحتاج إلى الالتزام db في الأوقات الصحيحة ، بقدر ما تحتاج إلى حفظ الملف على القرص الصلب في الأوقات الصحيحة.وبعبارة أخرى, طريقة واحدة أو أخرى يمكنك استخدام العديد من القرص الصلب يكتب.

أعتقد أن ما اخترت يعتمد أكثر على ما نوع البيانات الذي تقوم بحفظه.إذا كنت في حاجة إلى القوى التي لها ديسيبل يمكن أن تضفي مثل (الاستعلام), ثم بكل الوسائل استخدام سكليتي.ومع ذلك ، إذا كنت لا تحتاج إلى ديسيبل ، أو كنت قد حصلت على البيانات التي تختلف بعنف (و لا يمكن أن يكون الإعداد بسهولة في قاعدة بيانات علائقية) ثم كنت أذهب مع الملفات.

ما أستطيع أن أقول على وجه اليقين هو أن عليك أن لا استخدام التسلسل لحفظ ملف ، إذا كان هذا هو الطريق الذي اخترت الذهاب.الروبوت التسلسل بطيئة, بطيئة, بطيئة يخلق الملفات الكبيرة.هو أفضل بكثير أما الكتابة الخاصة بك XML أو تنسيق JSON لأسباب تتعلق بالأداء.

هو تطبيق متعدد الخيوط ؟ إذا كان لديك العديد من المواضيع في الوصول إلى مخزن البيانات ثم كنت أذهب مع SQLite.اسمحوا سكليتي تقلق بشأن تأمين القضايا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top