4
儘管代碼非常簡單,幾乎等於示例,但我在開發通常在30m或1h後發生的WP7應用時遇到了很奇怪的問題。模擬器沒有任何問題。WP7的老化測試
- 沒有例外的應用程序崩潰被拋出
- 未處理的異常:{「0xffffffff的」}(是的,消息是「0xffffffff的」和堆棧跟蹤是空的。)
- 一旦我得到了,而獲取的DateTimeOffset拋出的異常。現在財產(!)
- UI線程凍結,無法終止應用程序,不得不電源循環設備
所以在這一點上,我認爲,要麼WP7確實是不穩定的或我的設備硬件故障。
是否存在對WP7的老化測試?像Memtest86,Prime和桌面的其他實用程序?
編輯:這裏是導致問題的代碼:
public partial class MainPage : PhoneApplicationPage
{
private Accelerometer _accelerometer;
private GeoCoordinateWatcher _gps;
public MainPage()
{
InitializeComponent();
_accelerometer = new Accelerometer();
_accelerometer.ReadingChanged += new EventHandler<AccelerometerReadingEventArgs>(_accelerometer_ReadingChanged);
_accelerometer.Start();
_gps = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
_gps.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(_gps_PositionChanged);
_gps.Start();
}
void _gps_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
Dispatcher.BeginInvoke(() =>
{
TBLocation.Text = e.Position.Location.ToString();
});
}
void _accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
Dispatcher.BeginInvoke(() =>
{
TBAccelX.Text = string.Format("X: {0:F2} g", e.X);
TBAccelY.Text = string.Format("Y: {0:F2} g", e.Y);
});
}
}
<phone:PhoneApplicationPage
x:Class="AccelerometerTest2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<StackPanel>
<TextBlock Name="TBAccelX"/>
<TextBlock Name="TBAccelY"/>
<TextBlock Name="TBLocation"/>
</StackPanel>
</phone:PhoneApplicationPage>
編輯:正如我懷疑電話是錯誤的。該應用程序已在另一臺設備上正常運行5個小時。
謝謝你的回覆。我發佈了代碼。該應用程序只顯示屏幕上的傳感器數據。 要在最新SDK上使用探查器,我必須以7.1爲目標,所以我無法在7.0版本的設備上運行。 – Zmaster 2011-05-31 19:51:44