任何基於故事板的動畫(PerformanceProgressBar包含)必須嚴格執行,因爲它在特權線程上運行。如果您想了解更多信息或閱讀有關替代方案,請查看here。
有關快速信息請看文章最後的表格。 PerfProgressBar確實帶走了大約50%的CPU,這比標準的ProgressBar(> 60%)好得多,但比其他可能性差得多。
但是:數字指的是設備。在仿真器的情況下,損耗要低得多。至少在我的具體情況下。總的來說,我不會認真對待模擬器上測量的性能數字。
本文中描述的基準應用程序是Resco Mobile Forms Toolkit示例的一部分。該應用程序使用此代碼PerformanceProgressBar:
<ProgressBar Style="{StaticResource PerformanceProgressBar}"
Width="250" Margin="0" Padding="10"
IsIndeterminate="{Binding ElementName=PerfProgressCheckBox, Path=IsChecked}"
Visibility="{Binding ElementName=PerfProgressCheckBox, Path=IsChecked, Converter={StaticResource TrueVis}}" />
我可以向你保證,PerfProgressBar不採取而不活動的任何CPU。這在設備和仿真器上都適用。我會在你的代碼中尋找一個問題。
我認爲這個答案是過度複雜的事情。 「表現糟糕」有點苛刻 - 這取決於你想要達到的目標。你想要流暢的動畫,還是低CPU?還說PerformanceProgressBar再次「糟糕得多」取決於你想要達到的目標。我認爲我們可以同意標準ProgressBar不是推薦選項。 –
幾十年來,我一直試圖優化我的進度指標,以少於1%。現在,我必須對高達50%的東西感到滿意。也許我太老了......我當然同意,只有當你的應用程序確實需要CPU時,這些50%纔會立即被觀察到,而情況往往不是這樣。但不必要的電池排水將永遠存在,這也成爲PDA的核心問題之一。 –
否則y是對的,答案是側面跟蹤。我應該只寫下半部分。 –