gpt4 book ai didi

Android:使用 Window.addContentView 时隐藏 View 的清理?

转载 作者:行者123 更新时间:2023-11-29 14:11:56 27 4
gpt4 key购买 nike

我最近得到了一些淡入淡出的东西,所以我的“加载” View 是一个占据整个屏幕的 ImageView,然后我淡入主视图(在本例中是 GridView)在它的顶部。在 Activity 创建中,我调用:

setContentView( R.layout.loading_foo );

然后当加载 AsyncTask 完成时,我调用以下内容:

LayoutInflater inflater = LayoutInflater.from( getApplicationContext() );
GridView gridview = (GridView) inflater.inflate( R.layout.foo, null );

//fade in the view as it's shown
gridview.setAnimation( AnimationUtils.loadAnimation( this, R.anim.fade_in ) );

//populate the items adapter
gridview.setAdapter( new FooGridAdapter( apps ) );

//now overlay the gridview on top of the loading_springboard page
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT );
getWindow().addContentView( gridview, layoutParams );

我是否需要做任何特别的事情来清理 loading_foo View 以减少我的应用程序使用的内存量?这种方法还有其他问题吗?

(长期阅读,第一次发布)

最佳答案

因为您只是向窗口 View 添加更多内容,所以您的初始 loading_foo 将占用内存空间,即使它不可见。您必须删除该 View 以清理内存。

正如您所说,您将 GridView 放在加载屏幕的顶部,我假设您在底部使用了 FrameLayout...要释放内存,您应该在 gridview 完全可见并加载时删除第一个子项...首先可以对加载 View 进行垃圾回收并为您释放内存。

关于Android:使用 Window.addContentView 时隐藏 View 的清理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1760383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com