Se ha adquirido un recurso en el seguimiento de la pila adjunto pero nunca se ha publicado – Error

No estoy seguro de por qué estoy recibiendo este error, 2 de cada 5 veces que configuro el fondo de pantalla usando el emulador, obtengo el error – "Se ha adquirido un recurso en el seguimiento de la pila adjunto pero nunca se ha liberado. Información para evitar fugas de recursos ".

Cuando pongo el fondo de pantalla con mi teléfono, funciona perfectamente sin culpa. ¿Por qué se bloquea cuando uso el emulador?

Aquí está mi código:

public class SetWallpaperAsync extends AsyncTask<String, String, String> { private Context context; private ProgressDialog pDialog; String image_url; URL mImageUrl; String myFileUrl1; Bitmap bmImg = null; public SetWallpaperAsync(Context context) { this.context = context; } @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); pDialog = new ProgressDialog(context); pDialog.setMessage("Setting Wallpaper..."); pDialog.setIndeterminate(false); pDialog.setCancelable(false); pDialog.show(); } @Override protected String doInBackground(String... args) { // TODO Auto-generated method stub try { mImageUrl = new URL(args[0]); // myFileUrl1 = args[0]; HttpURLConnection conn = (HttpURLConnection) mImageUrl .openConnection(); conn.setDoInput(true); conn.connect(); InputStream is = conn.getInputStream(); BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Config.RGB_565; Bitmap bmImag = BitmapFactory.decodeStream(is, null, options); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String args) { // TODO Auto-generated method stub WallpaperManager wpm = WallpaperManager.getInstance(context); try { wpm.setBitmap(bmImg); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } pDialog.dismiss(); } } 

LOG Cat:

 11-09 15:09:11.726: E/StrictMode(1632): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. 11-09 15:09:11.726: E/StrictMode(1632): java.lang.Throwable: Explicit termination method 'end' not called 11-09 15:09:11.726: E/StrictMode(1632): at dalvik.system.CloseGuard.open(CloseGuard.java:184) 11-09 15:09:11.726: E/StrictMode(1632): at java.util.zip.Inflater.<init>(Inflater.java:82) 11-09 15:09:11.726: E/StrictMode(1632): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:96) 11-09 15:09:11.726: E/StrictMode(1632): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81) 11-09 15:09:11.726: E/StrictMode(1632): at libcore.net.http.HttpEngine.initContentStream(HttpEngine.java:528) 11-09 15:09:11.726: E/StrictMode(1632): at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:836) 11-09 15:09:11.726: E/StrictMode(1632): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274) 11-09 15:09:11.726: E/StrictMode(1632): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486) 11-09 15:09:11.726: E/StrictMode(1632): at com.google.ads.internal.fb(SourceFile:490) 11-09 15:09:11.726: E/StrictMode(1632): at com.google.ads.internal.f.run(SourceFile:460) 11-09 15:09:11.726: E/StrictMode(1632): at java.lang.Thread.run(Thread.java:856) 

Los emuladores tienen StrictMode activado de forma predeterminada, en dispositivos reales puede activarse en código mediante:

 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyLog() .penaltyDeath().build()); 

El accidente que estás recibiendo dice que necesitas cerrar manualmente los recursos web abiertos para poder liberar la memoria, ve este ejemplo de documentos Android:

  URL url = new URL("http://www.android.com/"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); try { InputStream in = new BufferedInputStream(urlConnection.getInputStream()); readStream(in); finally { urlConnection.disconnect(); } 
  • Implementación cliente / servidor de socket TCP de Android
  • Abierta: EBUSY (dispositivo o recurso ocupado)
  • No se puede entender mHandler.obtainMessage () en la muestra Bluetooth de Android
  • Android InputStream que deja caer dos primeros bytes (BluetoothChat modificado)
  • Android cómo obtener acceso a los recursos crudos que poner en la carpeta res?
  • IOException durante la lectura de InputStream
  • cómo reproducir un video usando el videoView y un inputStream
  • Convertir InputStream a BufferedReader
  • Copiar archivo a carpeta de activos
  • SocketException: ¿Permiso denegado?
  • Error de bucle en el emulador de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.