我定义了我的“自定义视图”应该在xml布局中看起来如何,并且从代码我膨胀这个布局.
因为膨胀的布局总是相同的,所以我只想做一次这个步骤.
我有布局后,我想缓存它,并在下次需要时使用它.
问题是,如果我将我的膨胀布局放在缓存中(通过示例在hashmap中)并将其添加到父布局,下次当我尝试再次添加它时(这次我将从缓存中获取布局)系统说我的布局已经有了父母.
您知道在不删除子视图的情况下从父级分离子视图的任何方法吗?
添加了一些代码:
private static HashMap<String,linearLayout> mComponentsCache;// inflate and add the layout in cachelayout = (linearLayout)mLf.inflate(R.layout.form_textBox,mHolder,false);mComponentsCache.put(FormFIEldType.TYPE_TEXT,layout);解决方法 你实际上不能这样做.我引用你的评论
我想以这种方式这样做,因为没有必要重新膨胀已经膨胀的相同视图.作为一个例子,我必须显示5个具有相同布局但内容不同的文本框.
您每次都必须充气,因为您需要此文本框的5个不同实例.如果您不想膨胀,您应该找到一种方法来复制已经创建的布局,这将无法提高,因为复制也是“代价高昂”.
事实上,只是为了说清楚,膨胀视图不会进行XML解析(以防万一你这么认为),它是编译代码,因此,努力实现创建一个方法你的观点副本毫无意义.
底线:坚持通货膨胀.
总结以上是内存溢出为你收集整理的如何在Android中缓存视图?全部内容,希望文章能够帮你解决如何在Android中缓存视图?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)