मैं AsyncTask को रद्द करना चाहता हूं। मुझे लगता है कि आप (जो हुड के नीचे AtomicBoolean का उपयोग करता isCancelled()in this valid solution की तरह उपयोग कर सकते हैंरद्द करने के लिए मजबूर करने के लिए AsyncTask को समय-समय पर चेक इन फ्लैग नहीं किया जाना चाहिए inInBackground अस्थिर हो?
लेकिन मैं suspiciousSolution1, suspiciousSolution2, suspiciousSolution3 जहां नया झंडा private boolean isTaskCancelled = false;
शुरू की है की तरह समाधान देख
और मैं सोच रहा शुरू कर दिया -।। कि जब झंडा
public void cancelTask(){
isTaskCancelled = true;
}
जो कुछ धागे पर चलता में संशोधित किया गया है, और
में पढ़ा जाता हैजो WorkerThread में चलता है, तो फ्लैग isTaskCancelled
फ़्लैग नहीं होना चाहिए (या AtomicBoolean Google के कार्यान्वयन के रूप में)।
हाँ, यह शायद अस्थिर – thepoosh
गूगल दिशानिर्देशों के अनुसार होना चाहिए, AsyncTask बहुत छोटे समारोह करने के लिए इस्तेमाल किया जाना चाहिए। यह बड़ी लूप या भारी कार्यों को नहीं चलाना चाहिए। ऐसी सुविधाओं के लिए या तो हैंडलर और रननेबल या पृष्ठभूमि सेवा का उपयोग करें। ध्वज मौजूद है लेकिन यह केवल आपकी स्थिति की शुरुआत में ही मान्य होगा। कार्य वांछित के रूप में तुरंत रद्द या रद्द नहीं कर सकता है। – chejaras
धन्यवाद लेकिन आप टिप्पणी quesiton का जवाब नहीं है। –