2012-10-23 7 views
6

क्या यह एक AsyncTask से हमेशा SQLiteDatabase तक पहुंचने के लिए आवश्यक या यहां तक ​​कि अच्छी प्रथा है?क्या AsyncTask में SQLiteDatabase तक पहुंचना आवश्यक है?

यूआई थ्रेड से इसे करने से कोई समस्या नहीं होती है और इसे लागू करने के लिए बहुत आसान है।

+1

उपयोगकर्ता एक समस्या होने के लिए एक जमे हुए यूआई पर विचार करेंगे। – CommonsWare

+0

ठीक है, लेकिन अब तक यह यूआई को फ्रीज नहीं लग रहा था। –

उत्तर

4

यह आपके मुख्य अनुप्रयोग धागे से आईओ नहीं करने की अनुशंसा की जाती है, लेकिन AsyncTask का उपयोग करके किया जाना है।

आपके पास अपने मुख्य धागे से बाहर निकलने के लिए अन्य विकल्प भी हैं, जिनमें से कुछ Loader Framework, IntentService, और Executors शामिल हैं।

4

यह अच्छा अभ्यास है। डाटाबेस ऑपरेशंस हमेशा तेज़ नहीं होते हैं, इसलिए एंड्रॉइड पृष्ठभूमि थ्रेड (AsyncTask, Runnable, आदि) पर सभी डेटाबेस और नेटवर्क संचालन करने की सिफारिश करता है।

3

नहीं, हमेशा किसी अन्य धागे में अपने डेटाबेस तक पहुंचने के लिए जरूरी नहीं है। यह इस बात पर निर्भर करता है कि यह कितना समय लगता है। आम तौर पर पढ़ता/लिखता तेज़ होता है, यूआई को धीमा न करें, और किसी अन्य धागे की आवश्यकता नहीं है। हालांकि, क्लीनअप इत्यादि जैसे लंबे संचालन करते समय हां, उन्हें एक और धागे में करना एक अच्छा विचार है।

संबंधित मुद्दे