forgot again to reply to all. If anyone ever considers changing the default
settings of the list server, +1 from me.

---------- Forwarded message ----------
From: Robert Krüger <krue...@lesspain.de>
Date: Wed, Jan 28, 2015 at 3:47 PM
Subject: Re: TableView API, no lazy retrieval of visible cell content
possible?
To: Werner Lehmann <lehm...@media-interactive.de>




On Wed, Jan 28, 2015 at 3:13 PM, Robert Krüger <krue...@lesspain.de> wrote:

>
> Hi,
>
> On Wed, Jan 28, 2015 at 1:59 PM, Werner Lehmann <
> lehm...@media-interactive.de> wrote:
>
>> Robert,
>>
>> I think Tomas is right, load your thumbnails on demand when updateItem is
>> called for an item with missing thumbnail. You say that the cell of a
>> visible item gets reused for another item. If that is the case I guess that
>> the item is "moved" to another cell. Wouldn't it be possible to have an
>> image property on your items and the lazy loading is done on the item,
>> triggered when the item is passed to updateItem of any cell? That
>
>
> That is exactly what I have implemented but the problem is as described
> above
> - Too many non-visible images are loaded (I could probably live with that
> for a while)
> - I have yet to find a criterion to decide an image is no longer needed
> and thus its loading job needs to be removed from the job stack (see below)
>
>
>> should trigger the demand-loading and it would be robust against the
>> tableview exchanging cells for individual items.
>>
> As to the question when to start or stop lazy loading for items, I would
>> add the load-demands to a stack. Each time the image for a new item is
>> requested it is put to the top of the stack and you have one or more
>> threads processing items on the stack (LIFO). An an image is requested
>> which is already on the stack move it to the top of the stack. If an item
>> is removed from a cell remove it from the stack. That should do it.
>>
>>
> That's what I am doing already.
>

To clarify: I am using the stack approach you describe and I remove it from
the stack when updateItem for a table cell is called that already has a
different item set. Then I remove the already set item from the stack but
that never seems to happen in my example.


>
>
>


-- 
Robert Krüger
Managing Partner
Lesspain GmbH & Co. KG

www.lesspain-software.com

Reply via email to