所以我在Xamarin.Droid中有这个应用程序基本上加载了一个只从168KB加载资源的图像。在加载图像之前,应用程序的RAM消耗为29.81MB(已经太高,因为此时我正在从xaml加载54KB的图像)。显示168KB文件时,它会变为60-80MB!
现在我打电话给下一页:
var modalPage = new SomeContentPage();
await Navigation.PushAsync(modalPage);
然后,我使用以下行从json文件加载一个对象列表:
Stream stream = assembly.GetManifestResourceStream(Constants.APP_NAMESPACE + ".someJson.json");
StreamReader re = new StreamReader(stream);
string content = re.ReadToEnd();
this._animals = JsonConvert.DeserializeObject<List<MyObject>>(content);
re.Dispose(); //adding this reduced the consumption by 20MB. Or maybe I'm so desperate at this point that I thought there was an improvement.
stream.Dispose();
使用以下方式反序列化:
this._someList = JsonConvert.DeserializeObject<List<MyObjects>>(someJsonSource)
基于&#34;页面的当前位置。&#34;我将它分配给当前对象(当然imgBackground是一个Image):
imgBackground.Source = ImageSource.FromResource(Constants.APP_NAMESPACE + ".Resources." + someObject.ImageFileName);
someObject列表只包含10个项目,包含4个字符串字段。
任何人都可以帮忙吗?这是某种已知问题吗?