I have items which can have very different sizes. They can contain picture, or two.
I used ListBox inside ScrollViewer, scrolling was wery fast, but initialization was taking time.
I tried to use just ListBox or LongListSelector, I can’t say it works: scrolling is very jumpy, some lags.
What can I use for this items to achieve fast enough initialization and smooth scrolling?
Inorder to overcome the black occurrence on scrolling you need to virtualize your scroll control. For that you should inherit IList and create a Collection of your own similar to ObservableCollection in which you will have to override the default indexer depending on your caching requirement and simultaneously maintain a cache for your items. I feel this might be what you are looking for: http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx
There is a sample project on that page. Try that out.
I also feel that you are facing this problem http://blog.rsuter.com/?p=258. I guess this will be solved using virtualization itself. For initialization, use lazy loading. Hope it helps