Xamarin在加载图像时形成Android内存问题

时间:2015-03-16 13:33:01

标签: android image memory xamarin

所以我在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个字符串字段。

任何人都可以帮忙吗?这是某种已知问题吗?

0 个答案:

没有答案