I don't know why it is more efficient to have contacts cached in asyncStorage than getting them from mozContacts. indexedDB is used in both cases. 

Could we just cache the HTML content and show it in first place and then continue with the regular rendering overwriting that if necessary?