我尝试将xml文件设置为netsh winhttp reset proxy
的背景图片。为此,我必须将xml转换为drawable。
这就是我所做的......
RelativeLayout
这些是我得到的错误。
RelativeLayout content = (RelativeLayout) findViewById(R.id.background);
// "content" is the xml file (which is currently displayed), that I want to use as the background image.
content.setDrawingCacheEnabled(true);
Bitmap bitmap = content.getDrawingCache();
content.setDrawingCacheEnabled(false);
Drawable d = new BitmapDrawable(getResources(), bitmap);
// Now I'm changing layouts to the one that has the Relative Layout of which I want to add the xml/drawable background.
mvf.setDisplayedChild(0);
// The layout of which I want to add the xml/drawable background.
(findViewById(R.id.root)).setBackground(d);
答案 0 :(得分:2)
这里bitmap = content.getDrawingCache()
你得到的不是新的位图,而是相同的位图对象,drawingCache,它是指向对象的指针。未来某个地方,drawingCache会被回收,你的位图对象也会被回收。
我认为你必须复制绘图缓存。像
这样的东西Bitmap bitmap = content.getDrawingCache().copy(bitmapConfig, false);
答案 1 :(得分:0)
content.setDrawingCacheEnabled(false);
应在从其父级删除R.id.root
后调用它。这种方式可以节省内存。