का उपयोग करते समय सभी धागे को लटकता है और निलंबित करता है मैं वेबसाइट की सामग्री प्राप्त करने के लिए AsyncTask
कक्षा का उपयोग करने का प्रयास कर रहा हूं। लॉगकैट मुझे बार-बार W/art: Suspending all threads took: 15(or any other number)ms
बताता है। मेरा संदेश जमे हुए है जब तक कि लॉग संदेश प्रिंट नहीं किए जाते हैं। यूआई लॉग के बाद दिखाता है। मैंने एक ट्यूटोरियल का पालन किया और दो बार जांच की है कि मेरा कोड ट्यूटोरियल जैसा ही होना चाहिए। थोड़ी देर के बाद, यह वेबसाइट से कोड की कुछ पंक्तियों को लॉग करता है, लेकिन कुछ भी नहीं। मैंने विभिन्न वेबसाइटों के साथ भी कोशिश की।एप्लिकेशन AsyncTask
public class MainActivity extends AppCompatActivity {
public class DownloadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String result = "";
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL(urls[0]);
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while (data != -1) {
char current = (char) data;
result += current;
data = reader.read();
}
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DownloadTask task = new DownloadTask();
String result = null;
try {
result = task.execute("http://www.vg.no/").get();
Log.i("URL content" , result);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
इस एप्लिकेशन को ठंड तय है, लेकिन मैं अभी भी सभी मिलती है: "डब्ल्यू/कला: सभी थ्रेडों को निलंबित करना: 9.850ms "लॉग में संदेश। मुझे यह भी मिलता है: "मैं/कला: पृष्ठभूमि आंशिक समवर्ती मार्क स्वीप जीसी ने 58 (2048 बी) ऑलोकस्पेस ऑब्जेक्ट्स, 45 (16 एमबी) एलओएस ऑब्जेक्ट्स, 40% फ्री, 21 एमबी/36 एमबी, 7.230 एमएमएस कुल 23.8 9 5 एमएमएस को रोक दिया" –
@ EmilØgård इन सभी ऐप्स के लिए संदेश के प्रकार आम हैं और आपको चिंतित नहीं होना चाहिए। वे एंड्रॉइड फ्रेमवर्क लॉगिंग का हिस्सा हैं और स्मृति प्रबंधन के मुद्दों और डीबगिंग समस्याओं का निदान करने के लिए उपयोग किए जाते हैं। लगभग सभी ऐप्स में, उन्हें सुरक्षित रूप से अनदेखा किया जा सकता है (और आप उनसे छुटकारा नहीं पा सकते हैं)। – adelphus
अधिक विशेष रूप से, "मार्क स्वीप जीसी" चीज रिपोर्ट कर रही है कि कचरा कलेक्टर स्मृति को पुनः प्राप्त करने के लिए क्या कर रहा है। "सभी धागे निलंबित" संदेश इसलिए है क्योंकि जब कचरा कलेक्टर अपना काम करता है तो सभी धागे को निलंबित कर दिया जाना चाहिए। इस विशेष स्वीप में 24 मिलीसेकंड, या आंखों के झपकी के दसवें हिस्से लगे। ;-) – nasch