Use the viewHolder pattern to increase performance.

Reducing the number of (relative expensive) findViewById() calls by
holding direct references to all inner views in a small extra class.
Cache the color string and avoid unnecessary html conversion.
Load icons asynchron. Much better initial scrolling performance.

But the icons will not refresh until you begin to scroll or trigger
getView() otherwise. Its possible to fix this by using
AppInfoAdapter::notifyDataSetChanged() in the right moment.
Fix for not loading icon image the first time after starting the app.

This will fix my last performance patch.

Load the first icons after startup synchron. This will show the icons
immediately.
Merge pull request #6 from jfreax/async_loading_fix

Async loading fix