Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从WindowManager中删除视图时如何清除内存_Android_Memory_Removechild_Android Windowmanager - Fatal编程技术网

Android 从WindowManager中删除视图时如何清除内存

Android 从WindowManager中删除视图时如何清除内存,android,memory,removechild,android-windowmanager,Android,Memory,Removechild,Android Windowmanager,我的应用程序使用: WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 我通过以下代码将视图添加到windowManager: MyContextWrapper myContextWrapper= new MyContextWrapper(this); // I created customview in myContextWrapper View view = myContextWra

我的应用程序使用:

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
我通过以下代码将视图添加到windowManager:

MyContextWrapper myContextWrapper= new MyContextWrapper(this);
// I created customview in myContextWrapper
View view = myContextWrapper.getView();

int FLAG = WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED 
                    | WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
                    | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION 
                    | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH 
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
int type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
WindowManager.LayoutParams params = new WindowManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, type,
                FLAG, PixelFormat.UNKNOWN);
mWindowManager.addView(view, params);
删除视图时如何清除其内存?我想清除它,因为在新的MyContextWrapper(这个)getview并添加到mWindowManager之后内存增加了

 mWindowManager.removeView(view);

myContextWrapper.getView()include(ImageView,ViewPager…)

删除视图后不需要清除内存,因为
Java
有垃圾收集器,它可以为您完成这些工作。简单地说,如果此视图没有引用它,它将自动从堆中删除。清除其缓存,使用其资源刷新布局,并从中删除所有可绘制内容并将其置零。@nikis我的应用程序有使用服务,如果不清除ram,则应用程序使用大量ram,大约150mb:(@ThoTran你找到解决方案了吗?