Mr *_*r Q 1 xcode xamarin.ios ipad ios
我的iPad应用程序的性能有这个问题..
为了开发,我使用MonoDevelop来处理垃圾收集.我会说,我的问题还是比较通用的.
好的,我使用带有5个NavigationControllers的TabBarController.在导航控制器内部有一些控制器,其视图是TableViews或ScrollViews.下一个孩子总是只是常规观点.
我有几个问题:
1)TableViews永远不会顺利滚动.我有一些alpha透明度,但由于我在Photoshop中制作了我的图形而不是以编程方式,这种透明度不会引起太多问题.表格中我的结果是否很少并不重要.另一方面,我有ScrollView,它具有相同的用途,即成为一个具有不同布局的表格,按钮也有Photoshop生成的透明度.它完美地运作.
对于我应用的表格DequeueReusableCell()工作正常(我看到滚动后内存使用量没有增加).那么为什么桌子会滚动如此生涩呢?
2)我的应用程序支持旋转.当我滚动表或scrollView并同时倾斜设备时,我得到的可能是1或2 FPS.实施轮换的最佳方法是什么?据我所知,ShouldAutorotateToInterfaceOrientation必须在NavigationController链中的所有控制器中重写.另外,我需要在View中添加观察者我希望发生一些变化.我是否必须BeginGeneratingDeviceOrientationNotifications()在所有视图中使用,或者它是否足以在Main.cs中执行?也许这减缓了它?
3)一段时间后,应用程序开始获取内存警告,然后最终崩溃.我试图读取日志并使用Instruments运行应用程序,但无法找到崩溃的原因.
4)从NavigationController堆栈弹出的View究竟发生了什么?我无法重复使用它.但Monotouch(或我)不能正确处理吗?
我有几乎相同的iPhone应用程序,不支持旋转,永远不会崩溃.我想我在轮换时做错了,但我不确定是什么.
任何帮助将受到最多的赞赏.所以,提前谢谢你.
问候
1 - 透明胶片总是一个问题.即使您没有在代码中渲染图像,手机仍然需要对图像进行合成,这可能需要花费很多时间.UITableViews必须在每次显示新单元格时计算最终合成图像,或者滚动表格,而UIScrollViews只能计算一次,因为图像不会改变.所以要非常小心,关闭透明度,并检查性能是否有所改善.
2 - 您不应该在申请中通知每个uiview.仅在您要更新的控制器中接收通知,例如,如果要重新排列UIViewControllers视图中的项目.
3 - 您有一个(或许多)内存泄漏.我的猜测是MonoTouch可能无法收集UIViews或UIViewControllers,因为它们仍然是从UIKit中的某个地方链接的,就像UINavigationController
4 - 在应用程序收到内存警告通知之前,UIKit不会处理UIViews.
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |