我目前正在尝试使用Eclipse为Android手机开发基于图像处理的应用程序。我的应用程序包含几个按钮和子菜单按钮。我试图使用不同分辨率的开关盒,从而使它具有通用性(因此它可以在任何分辨率下运行),从而为不同的分辨率提供不同的资源。问题是,我遇到了内存过载问题。它在Xperia U上运行良好,但在Galaxy S上运行不正常,并且在模拟器中也崩溃了。我没有将XMl用于我的应用程序,并以编程方式设计了整个UI。请告诉我如何解决这个问题。任何帮助将受到高度赞赏。提前谢谢!
答案 0 :(得分:1)
嗯,问题很一般,但这里有一些可能会有所帮助的问题:
以编程方式设计所有内容意味着您的应用程序将变慢并将在运行时创建所有内容。它不是通过不使用XML来使用Android UI的设计优化。
您使用什么上下文来创建UI对象。如果您将UI对象绑定到应用程序上下文而不是活动的上下文,则除非应用程序被终止,否则UI的所有组件都将保留在内存中。与活动不同,一旦活动被销毁,其所有UI组件都将被杀死。
您可以使用XMl充气程序,通过重用在XML中创建的组件来减少Java中的工作。这将帮助您优化重复使用的某些子组件。