Xamarin ContentPage BackgroundImage属性在Android上崩溃应用程序

时间:2015-11-03 16:15:58

标签: android xamarin background crash xamarin.forms

我使用Xamarin Forms生成包含更多ContentPages的TabbedPage。这是引起麻烦的代码的一部分:

    public void launchMainDesign(object s, EventArgs e) {
        MainPage = new TabbedPage {
            Children = {
                new ContentPage {
                    Title = "Login",
                    Content = pages.loginContent,
                    BackgroundImage = "bgmain.jpg"
                },
                new ContentPage {
                    Title = "Sign Up",
                    Content = pages.signUpContent,
                    BackgroundImage = "bgmain.jpg"
                }
            }
        };
    }

看起来绝对没问题。我在Drawable目录中有两个图像,构建操作设置为" AndroidResource"。

每当按下按钮触发launchMainDesign()函数时,应用程序会立即崩溃,无论是在平板电脑上的模拟器还是应用程序的构建版本中。不幸的是,我无法在iOS和WP上进行测试。

我甚至尝试将整个函数的内部部分放在try / catch块中并打印出异常,但应用程序只是崩溃了。

我拼命想要解决这个简单的问题大约一个星期了。似乎没有人和我有完全相同的问题。最奇怪的是,我有一个不同的应用程序,我使用完全相同的方法,它工作得很好。 Android主题可以导致这种情况(我使用Holo,在工作应用程序中,没有指定主题)?这似乎是唯一的区别。

我也不认为这是由RAM挣扎引起的,因为图像只有大约700千字节(1080x1920) - 对于这个例子,我只使用了一张图像。

1 个答案:

答案 0 :(得分:0)

这可能是一个内存问题,因为即使尺寸不大,取决于设备分辨率,它可能会尝试将图像缩放到设备尺寸。

尝试检查此自述文件:

https://github.com/xamarin/customer-success/blob/master/samples/Xamarin.Forms/SliderView/README.md

解释Xamarin.Forms Android图像内存管理,这样可以帮助您解决可能遇到的问题。