我想问一下当我们对应用程序进行编程时,对象在我们的手机中是如何表现的。
假设我们有一些椭圆、正方形围绕一个点旋转,也就是说,有一个图形动画,其中所有动画都应该是一个对象,如 XAML。
如果我们制作这个动画 Visibility="Collapsed"; 手机CPU会做什么?它是否仍然在CPU中工作而不显示在屏幕上,或者它进入硬盘驱动器或其他东西的挂起状态,或者换句话说,任何可见性折叠对象,包括按钮,网页,动画等。消耗CPU,因此,电池就像可见性=“可见”时会这样做吗?
谢谢你提前给我启发。
我想问一下当我们对应用程序进行编程时,对象在我们的手机中是如何表现的。
假设我们有一些椭圆、正方形围绕一个点旋转,也就是说,有一个图形动画,其中所有动画都应该是一个对象,如 XAML。
如果我们制作这个动画 Visibility="Collapsed"; 手机CPU会做什么?它是否仍然在CPU中工作而不显示在屏幕上,或者它进入硬盘驱动器或其他东西的挂起状态,或者换句话说,任何可见性折叠对象,包括按钮,网页,动画等。消耗CPU,因此,电池就像可见性=“可见”时会这样做吗?
谢谢你提前给我启发。
有两种方法可以在屏幕上隐藏对象
可见性属性
当该Visibility属性设置为 时Collapsed,XAML 不会在可视内存中保存该元素的任何可视数据,并且不会执行与该元素相关的任何处理。设置Visibility为Visible, 将绘制可视化树的内容并且元素是完整的。
不透明度Opacity当您使用位图缓存时,您
可以通过操纵元素的属性来提高应用程序的性能。位图缓存允许在第一次渲染后将视觉元素存储为位图。缓存元素后,应用程序会绕过缓存视觉元素的渲染阶段,而是显示存储的位图。当您将缓存元素的不透明度设置为 0 时,该元素的位图表示将保存在内存中。建议在混合、变换(平移、拉伸、旋转)的场景中使用 BitmapCaching(将CacheMode属性设置为 )。BitmapCache
除了 UI 线程,WP 还支持组合线程。UI 线程将从 XAML 解析和创建对象,在第一次绘制所有视觉对象时绘制它们,并处理每帧回调并执行其他用户代码。合成线程组合图形纹理并将它们传递给 GPU 进行绘制。对于故事板驱动的动画也有一些优化。
维护轻量级 UI 线程是编写响应式应用程序的关键。