问题标签 [recycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - getView only shows Flagged Backgrounds for drawn Views, It does not show Flagged Background when scroll to view more items on list
I am trying to create a listview that receives a flagged list of items to indicate a status to the user. I have been able to create the flag display by using a yellow background (see image at bottom). In Theory, the flagged list can have many flagged items in it. However in my app, only the first three flagged backgrounds are shown. I believe this is because they are initially drawn to the screen. The Flagged background that are not drawn initially to the screen do not show. I'd like to know how to get the remaining flags to show in the list.
ListView Recycling: The backgrounds in the listView are being recycled in getView(). This recycling goes from position 0 to position 9. I have flags that need to match at positions 13, 14 and so on. Those positions are not being displayed.
listView.getCheckedItemPositions() for multiple selections: This method will not work in my case because the user will not selected the flags. The flags are coming from the server.
setNotifyOnChange() and/or public virtual void SetNotifyOnChange (bool notifyOnChange): I'm not adding new data to the list, so I don't see how this method would work for my program. Does this method communicate to getview when it is recycling data? I was unable to find an answer to this in my research.
public void registerDataSetObserver: This may be overkill for my problem, but is it possible to have an observer object that keeps track of the all the positions in my items list and in my flag list no matter if the view is recycled and match them on the screen?
(source: leobee.com)
Code:
Logcat:
This is a link to my first question a day ago:
Change Background on a specific row based on a condition in Custom Adapter
I appreciate your help!
wpf - WPF Listview 虚拟化模式在绑定时会出现问题
我创建了一个新类(从 listview 派生)。
此列表视图是视图的一部分,该视图具有视图模型。此视图模型有两个主要属性 - 1)myView(ICollectionView)...和 isWritable(bool)。
每个列表视图项(列表视图内的行)都有一个控件模板,该模板显示一组控件。
其中少数控件的可见性由“isWritable”属性决定...通过 FindAncestor 方法。
问题是..当我们滚动这个列表视图时,一些使用“isWritable”属性来启用/禁用的控件被禁用,即使属性的值为“True”。
如果我删除回收,它工作正常......我认为这个问题是 - 因为它重用旧容器......绑定并没有完美地与 FindAncestor 发生。
如您所见,我在这里使用虚拟化......并且项目面板被回收。所以我认为当我们重用 itempanel 时,使用 FindAncestor 并没有像预期的那样发生数据绑定。
任何帮助,将不胜感激!
android - listview回收奇怪的空白空间
我有一个与这个问题类似的问题:ListView and rows回收问题
以上解决。但同样的解决方案对我不起作用。
我有一个由文本视图组成的列表视图。每个文本视图可以包含可变数量的图像。我正在使用 html.imagegetter 获取图像,并且在列表适配器的 getview 方法中使用回收。
如果 textview 中有一个或多个图像,它的高度将能够适应其内容。当这个textview被回收并且新的内容没有填满之前定义的高度时,就会出现空白。
问题是我无法在 getview 中恢复 textview 的高度,因为我不知道下一个列表项的高度。
这是我的getview:
这是行布局:
问题:列表视图回收机制无法根据新内容计算已使用视图的新高度。不回收,太慢了。
linux - Linux PID 回收
Linux 中是否有任何关于回收使用过的 PID 的政策?我的意思是,如果一个 PId 已被使用,它会在多长时间后再次使用?
android - 在具有网格视图的寻呼机中回收视图是否有意义?
我想知道在这种情况下使用回收功能是否有意义:ViewPager,其中每个页面都是一个带有 GridView 的片段,它适合页面(所有项目都是可见的,没有滚动)。
问题的原因是我想在 2 个不同(相似)的 XML 之间切换以膨胀网格视图中的项目。而且,使用回收,这可能是不可能的。但我认为在这种情况下不需要回收。
编辑:为了清楚起见,我的意思是回收网格项目。有关视图寻呼机的信息只是给出使用它们的上下文。对于回收,我的意思是在方法 getView 中使用 convertView 进行回收。if (convertView) == null {inflate}
等等
android - Android ICS bitmap recycling
I was using following code in onDestroy
to recycle large bitmap in order to restore memory quickly. If I don't do it, application will crash with OutOfMemory error after few screen rotations. Android sucks at handling memory.
Unfortunetely, things changed in ICS. They started caching resources and recycling a bitmap actually recycles the bitmap in cache. Android isn't smart enough to figure it out and it's trying to use the recycled bitmap in the future, which results in this:
So here's the problem. If I recycle it, it will crash on ICS. If I don't, the app will run out of memory. What should I do? What's the right way to free the memory, which actually works?
android - java.lang.RuntimeException: Canvas: 试图使用回收的位图 android.graphics.Bitmap
我向这个处理程序发送消息(这里我省略了一些情况)对位图进行一些操作,然后在 UI 上设置位图。因为对位图的操作比较耗时,所以我把它放在了一个线程中。完成此操作后,我使用runOnUiThread方法在 UI 线程中设置 UI 。
通常,这一切都运行良好,但在某些情况下,我得到了以下异常:java.lang.RuntimeException: Canvas: 试图使用回收的位图 android.graphics.Bitmap。
这种情况非常罕见,但确实发生了好几次。
方法rotationBitmap() 和它调用的一些方法如下所示:
从代码中,问题必须出现在此语句中:
但是根据代码上下文,位图不应该为空或回收,这真的很奇怪。
我一直在这个问题上徘徊近两天,无法弄清楚问题是什么,但问题确实存在。有人可以给我一些建议吗?任何回应表示赞赏!谢谢!<br />
顺便说一句,当我尝试这样的 RuntimeException 时,无法捕获这种异常,为什么?
android - Android ListView 使用 AsyncTask 更新 Image Thumbnails 导致 View 回收
我一直在尝试让缩略图与 ListView 中的图像文件的 AsyncTask 一起使用。我一直遇到行回收的常见问题,因此在滚动缩略图时被分配到错误的行。我曾尝试向 ImageView 添加标签,然后在 AsyncTask 的 onPostExecute() 中确认标签,但我的尝试没有成功。有人请帮忙!
自定义适配器如下:
AsyncTask 如下:
我仍然无法弄清楚要在滚动时让缩略图显示在正确的行上还要做些什么。
请注意:滚动离开受影响的行并向下滚动后,一切正常,但滚动问题并没有消失!
android - 可绘制的 Android 库
我正在创建一个简单Gallery
的可绘制对象 - 它们中的每一个几乎都有屏幕大小,因此它们需要相当多的内存。对于每个条目,我正在为标题创建一个自定义LinearLayout
项。正如你们大多数人所知,android不会回收视图,因此它的画廊在低内存手机上很容易崩溃(在我的情况下,在 16mb ram 限制加载 4 个可绘制对象之后)。ImageView
TextView
Gallery
这是一个简单的问题 - 你如何实现这样的画廊,所以它不会耗尽内存?你如何回收这些图像?一个工作代码示例会很棒。
几点注意事项:
inSampleSize 不可行,我无法缩小这些图像
在从资源加载的 Drawable 上调用 recycle() 是不可能的,因为它会在 Android 4.0+ 上崩溃(它会在其内部缓存中回收 drawable)
不要让我发布代码,因为没有。
ios - 使用 NIB 重用自定义单元
嗨,我是 IOS 开发新手,我创建了一个UITableView
使用在 nib 中创建的自定义单元格的程序。下面是我ViewController
加载单元格的代码,但是如果我上下滚动 3 次,应用程序会崩溃,因为我认为我没有正确地重用单元格。我四处搜索,但我发现的大部分代码/解决方案似乎已经过时了。我的代码低于任何帮助,非常感谢!