Ho aggiornato di recente MvvmCross da 3.5.1 a 4.1.4 nel mio progetto e ho pubblicato l'aggiornamento dell'applicazione insieme ad esso.NotSupportedException Impossibile attivare JNI Handle - MvvmCross
Dopo questo, vedo da Xamarin Insights che, molti utenti sperimentano;
Could not activate JNI Handle 0xffb35af8 (key_handle 0xe888654) of Java type 'md53997af0c1a24144057e197743f9f827a/HomeView' as managed type 'package.name.HomeView'
su quasi tutte le attività con i rispettivi nomi di attività. Tutte queste attività sono MvxActivities.
miei Setup.cs -
public class Setup : MvxAndroidSetup
{
public Setup(Context applicationContext)
: base(applicationContext)
{
}
protected override IMvxApplication CreateApp()
{
return new MVVM.App();
}
protected override IMvxTrace CreateDebugTrace()
{
return new MvxDebugTrace();
}
protected override MvvmCross.Droid.Views.IMvxAndroidViewPresenter CreateViewPresenter()
{
var presenter = new MyViewPresenter();
Mvx.RegisterSingleton<IMvxViewPresenter>(presenter);
return presenter;
}
protected override void FillTargetFactories(MvvmCross.Binding.Bindings.Target.Construction.IMvxTargetBindingFactoryRegistry registry)
{
registry.RegisterCustomBindingFactory<View>(
"ShowMe",
v => new ViewScalingCustomBinding(v));
registry.RegisterCustomBindingFactory<View>(
"ScaleMe",
v => new ViewSizingCustomBinding(v));
registry.RegisterCustomBindingFactory<View>(
"CustomFont",
v => new FontCustomBinding(v));
registry.RegisterCustomBindingFactory<View>(
"OtherCustomFont",
v => new FontDincCustomBinding(v));
registry.RegisterCustomBindingFactory<View>(
"ImageResize",
v => new ImageResizeCustomBinding(v));
base.FillTargetFactories(registry);
}
protected override IMvxPluginConfiguration GetPluginConfiguration(Type plugin)
{
if (plugin == typeof(MvvmCross.Plugins.DownloadCache.Droid.Plugin))
{
return new MvvmCross.Plugins.DownloadCache.Droid.MvxDownloadCacheConfiguration()
{
CacheName = "Pictures.MvvmCross",
CacheFolderPath = "../Library/Caches/Pictures.MvvmCross/",
MaxFiles = 500,
MaxFileAge = TimeSpan.FromDays(1),
MaxInMemoryBytes = 4000000, // 4 MB
MaxInMemoryFiles = 1,
MaxConcurrentDownloads = 10,
DisposeOnRemoveFromCache = false
};
}
return null;
}
}
cosa potrebbe causare questo problema?
Puoi forse mostrare uno di quegli Activites? E forse il tuo setup.cs? Molte cose sono cambiate con 4, quindi forse c'è qualcosa di sbagliato nelle intestazioni di attività o così. – Cyriac
A parte gli spazi dei nomi e le cose relative allo spazio dei nomi, non ho cambiato nulla in Setup.cs, ma posso aggiungerlo alla domanda. Anche le intestazioni di attività non hanno nulla di specifico tranne un'etichetta e l'orientamento dello schermo. –
E sembra solo con alcuni utenti, tu stesso non hai questo problema? – Cyriac