We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Problem with <AndroidEnablePreloadAssemblies>False</AndroidEnablePreloadAssemblies>

Hello,
I noticed that when build options on Android are stetted to

<AndroidEnablePreloadAssemblies>False</AndroidEnablePreloadAssemblies>>

some controls doesn't render, for sure there is a problem with
  • SfAutoComplete
  • SfTextInputLayout
I found some work around. Initialisation helps in OnCreate

global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
new Syncfusion.XForms.Android.TextInputLayout.SfTextInputLayoutRenderer(this);
new Syncfusion.SfAutoComplete.XForms.Droid.SfAutoCompleteRenderer();
LoadApplication(new App());

but it would be nice to have inside solution in coming releases.
Regards,
Radek

5 Replies

RK Radoslaw Kubas August 26, 2019 10:32 AM UTC

Hello again,

So there is one more problem, I can't find work around, please help! :)

In same situation there is a problem with
  • SfListView
It seems to work correctly, but when assembles are not preloaded Swipe not working (I guess maybe some other functionalities also, but I noticed this one).

Could you help me how to force initialisation without preloading all assemblies?

Regards,
Radek





RK Radoslaw Kubas August 26, 2019 10:42 AM UTC

OK, I found answer myself fro the last question

new Syncfusion.ListView.XForms.Android.ListViewItemRenderer(this);

seems to work fine.


RA Rachel A Syncfusion Team August 29, 2019 10:55 AM UTC

Hi Radoslaw, 
 
When you set AndroidEnablePreloadAssemblies to false, assemblies will only be loaded whenever any code inside the assembly is called. In this case, our controls which depend on custom renderer will not work. Because, all the renderers will be loaded using reflection APIs in Xamarin.Forms framework. So, when the framework tries to create associated renderer objects, it won't be created as the assemblies are not preloaded.  
 
We recommend you to call Init method of our renderer classes to solve this issue. For the renderers which don't have Init method, you can create a dummy instance of the renderer. 
 
Thanks, 
Rachel. 



RK Radoslaw Kubas August 29, 2019 12:29 PM UTC

Hello,

Thank you very much for explanation and confirmation that my solution was correct.

Best regards,
Radek


RA Rachel A Syncfusion Team August 29, 2019 12:33 PM UTC

Hi Radoslaw, 
 
Thanks for the update. 
 
Please let us know if you need any further assistance. 
 
Thanks, 
Rachel. 


Loader.
Live Chat Icon For mobile
Up arrow icon