我正忙着为Android创建应用。我正在使用Android Studio。但是,这个应用程序有很多活动(类)和相应的布局文件。当我更新我的应用程序时,这些类和布局文件将会增长得更多。我知道Android Studio中的一些活动或布局没有设置限制,但是,我非常担心我的应用程序会随着它的增长而加班,并且会创建更多的活动和布局。我的应用是关于汽车的声音。用户将选择制造商,然后选择制造商的型号,然后将他/她带到该特定型号,在那里他/她可以播放该车的汽车声音。
这是我的Java类(活动)的图像:
这是我的布局文件(XML布局):
我很担心我的应用程序最终会崩溃,经过一段时间和一些更新后,我将增加大约30到40个类和布局。
如果有人可以建议替代我的方法,那也值得赞赏!
答案 0 :(得分:1)
你的应用程序不会因为只有大量的活动而崩溃,因为只有活动活动才会消耗资源但如果它真的很大,那么你应该考虑改变你的方法例如可能的原因之一大量活动可能是您正在制作静态视图(如果您是新手),如果您这样做,您应该考虑创建布局并动态加载该布局中的数据。这将减少活动的数量。
答案 1 :(得分:1)
由于代码的复杂性,代码不应该崩溃,但随着类数量的增加,代码可能会慢慢变得无法管理。
如果不查看您的实际代码,很难判断您应该如何重构以简化,但您可能会发现使用enum
是一个有用的工具。
enum Manufacturer {
BMW,
AstonMartin,
Audi,
Jaguar,
MercedesBenz,
Porsche
}
enum Car {
AudiRS5_2013(Manufacturer.Audi),
AstonMartinV12VantageS_2014(Manufacturer.AstonMartin);
private final Manufacturer manufacturer;
Car(Manufacturer manufacturer) {
this.manufacturer = manufacturer;
}
}
答案 2 :(得分:0)
不用担心,你添加的类和布局越多,最终的apk就越大。但是内存消耗运行时将是相同的,因为一次只创建活动活动(及其布局)。
答案 3 :(得分:0)
应用程序崩溃不依赖于类或布局文件的数量。检查应用程序中的内存泄漏。
为了避免应用程序崩溃,只需在代码中的任何地方放置try / catch块。然后,即使在运行时发生任何错误,您的应用程序也不会崩溃。例如,
try {
//your code
} catch (Exception e){
Log.e("Error",""+e.toString());
}
希望它有所帮助!
答案 4 :(得分:0)
如果您担心需要进行大量活动,可以将工作委托给片段。通过这种方式,您的应用程序将更加可扩展。
活动本身不会带来太多麻烦。你应该真正担心的是内存泄漏。如果您使用IntentServices,Coursors,PopupDialogs和AsyncTasks,这是很常见的。
答案 5 :(得分:0)
好吧,在问题困扰你之前不要麻烦。您的应用程序不会崩溃。但是,由于冗余资源太多,* .apk的大小会越来越大。