Bug 26054 - ListView and ImageCell performance on Android > 4.4
Summary: ListView and ImageCell performance on Android > 4.4
Status: RESOLVED UPSTREAM
Alias: None
Product: Forms
Classification: Xamarin
Component: Forms ()
Version: 1.3.1
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-01-15 04:28 UTC by Ota Mares
Modified: 2016-04-08 18:46 UTC (History)
5 users (show)

Tags: ac ngf
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED UPSTREAM

Description Ota Mares 2015-01-15 04:28:20 UTC
We are having major issues with ListView containing an ImageCell when deployed on a real device. It seems the image is not reused (or cached), so its always rendered anew when being shown on the view port. This results in poor scrolling performance.

Tested on:

*  Samsung Galaxy S3 with Android 4.3 Jellybean and the ListView is smooth as ever.
* Nexus S5 with Android 5.0 Lollipop the ListView lags. Also the debug console shows a lot of Garbage collection activity when scrolling. The Galaxy S3 debug output had almost Zero GC messages.
* Nexus 4 running Android 4.4 KitKat. The ListView is laggay

It seems beginning with Android 4.4 the problem arises. An speculation would be that its Art related but the Nexus 4 devices was running dalvik.

A github repository with sample code can be found at https://github.com/rebuy-de/xamarin-listview
And a xamarin forums thread that ill updated regularly with information: http://forums.xamarin.com/discussion/30909/1-3-1-listview-and-imagecell-performance-on-android#latest
Comment 1 Ota Mares 2015-01-15 04:40:52 UTC
Build env:

Xamarin Studio
Version 5.7 (build 661)
Installation UUID: 09a0b9f2-789f-44e5-90c2-9cb09673d175
Runtime:
	Mono 3.12.0 ((detached/a813491)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 312000068

Apple Developer Tools
Xcode 6.1.1 (6611)
Build 6A2008a

Xamarin.iOS
Version: 8.6.0.51 (Trial Edition)
Hash: dfb682f
Branch: 
Build date: 2015-01-08 13:39:32-0500

Xamarin.Android
Version: 4.20.0.28 (Trial Edition)
Android SDK: /Users/otamares/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		2.1   (API level 7)
		2.2   (API level 8)
		2.3   (API level 10)
		3.1   (API level 12)
		4.0.3 (API level 15)
		4.1   (API level 16)
		4.4   (API level 19)
		5.0   (API level 21)
Java SDK: /usr
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

Xamarin.Mac
Not Installed

Build Information
Release ID: 507000661
Git revision: b70bab61da996da29045ea8ee8aed1a6faedbe78
Build date: 2015-01-05 16:31:31-05
Xamarin addins: 82f6c71490562d6cd125a09287f441902fdac3d7

Operating System
Mac OS X 10.10.1
Darwin XXX 14.0.0 Darwin Kernel Version 14.0.0
    Fri Sep 19 00:26:44 PDT 2014
    root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
Comment 3 Ota Mares 2015-01-15 08:45:11 UTC
Okay, we probably found the cause of the problem. Its an issue with gifs! When using jpgs the ListView scrolls fine. To test use following branch, it includes jpges instead of gifs: https://github.com/rebuy-de/xamarin-listview/tree/jpg
Comment 4 Rui Marinho 2016-04-08 18:46:57 UTC
This is the behaviour we see Upstream too.