I have this list xaml:
<StackLayout VerticalOptions="FillAndExpand">
<telerikDataControls:RadListView x:Name="statesListView" ItemsSource="{Binding States}"
IsItemSwipeEnabled="False"
IsPullToRefreshEnabled="True"
RefreshRequested="RefreshGesture"
SelectionMode="Single"
SwipeOffset="50,0,50,0"
VerticalOptions="FillAndExpand"
>
<telerikDataControls:RadListView.ItemTemplate>
<DataTemplate>
<telerikListView:ListViewTemplateCell>
<telerikListView:ListViewTemplateCell.View>
<StackLayout Margin="0" Padding="0" BackgroundColor="{Binding Path=., Converter={StaticResource stateConverter}, ConverterParameter='color'}">
<StackLayout Orientation="Horizontal" Padding="0" Spacing="0" Margin="0">
<Image Source="{Binding Path=., Converter={StaticResource stateConverter}, ConverterParameter='image'}" HeightRequest="22"
Aspect="AspectFit" Margin="3,3,3,0"/>
<Label Text="{Binding Path=., Converter={StaticResource stateConverter}, ConverterParameter='time'}" VerticalOptions="Center" />
</StackLayout>
<Label Text="{Binding TransitionDescription}" HorizontalOptions="Start" VerticalOptions="Start" Margin="3,0,0,3"/>
</StackLayout>
</telerikListView:ListViewTemplateCell.View>
</telerikListView:ListViewTemplateCell>
</DataTemplate>
</telerikDataControls:RadListView.ItemTemplate>
</telerikDataControls:RadListView>
</StackLayout>
When the page goes out of scope, the Images will not released. This is related to the fact that they are returned by the converter - if I replace the image with a static image, like
<Image Source="refresh.png" Aspect="AspectFit"/>
Then there is no memory leak.
The problem, I cannot access the Image objects to null out the source of each. RadListView seems to have no way to traverse it's children.
This seems to be a bug in RadListView.