Android活动被破坏但不是垃圾收集?

时间:2014-02-07 19:37:49

标签: android memory

我有一个名为Util的类,我保留了所有有用的方法(下载图像,缩放旋转位图,下载音乐,播放音乐等等)

public class Util{
   public static Bitmap downloadImage(Context context, String url) throws SocketException {
      // Implementation
   }

   public static Bitmap rotateBitmap(Bitmap bitmap, float degree) {
      // Implementation
   }

   // And other stuff
   public static int getApplicationVersion(Context context){
       // Impl...
   }
}

如果我有两个或更多活动,并且我在每个活动中调用一个有用的方法,那么这是内存泄漏吗? Util类是否会像“桥梁”一样,在活动之间保持参考?

public Activity_A extends Activity{
   @Override
   protected void onCreate(Bundle bundle){
      Bitmap bitmap = Util.downloadImage(this, "http://static.asd....");
   }
}

public Activity_B extends Activity{
   @Override
   protected void onCreate(Bundle bundle){
      Bitmap bitmap = Util.downloadImage(this, "http://something");
      bitmap = Util.rotateBitmap(bitmap, 90f);
   }
}

或者调用片段:

public class MyFragment extends Fragment{
   @Override
   protected void onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
      // inflating...


      Util.playBackgroundMusic(getActivity(), Constants.MUSIC_1);

      Log.i("APP", "Application version is: " + Util.getApplicationVersion(getActivity());
   }
}

这是否会导致内存泄漏?我很困惑......

1 个答案:

答案 0 :(得分:0)

我认为如果你对静态Util类中的一个活动进行了引用会是一个问题,因为它会阻止活动在完成后被垃圾收集。

但在你的情况下,我没有看到任何内存泄漏问题。