Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序运行缓慢-公共静态类变量_Android_Performance_Android Fragments - Fatal编程技术网

Android应用程序运行缓慢-公共静态类变量

Android应用程序运行缓慢-公共静态类变量,android,performance,android-fragments,Android,Performance,Android Fragments,我的Android应用程序有7个片段类;一个是网络视图,一个是在SurfaceView上显示摄像头,一个是谷歌地图,另一个是包含图像和文本的列表视图 每个片段大约有15个公共静态类变量。这是糟糕的编程吗 我的应用程序似乎相当慢,我想知道这是否与有这么多公共静态类变量有关 关于如何加速我的Android应用程序有什么建议吗?如果我将尽可能多的这些公共类变量移到方法和函数中,而不是将它们作为类变量,那么速度会有很大提高吗 提前谢谢 每个片段大约有15个公共静态类变量。这是糟糕的编程吗 可能吧。如果这

我的Android应用程序有7个片段类;一个是网络视图,一个是在SurfaceView上显示摄像头,一个是谷歌地图,另一个是包含图像和文本的列表视图

每个片段大约有15个公共静态类变量。这是糟糕的编程吗

我的应用程序似乎相当慢,我想知道这是否与有这么多公共静态类变量有关

关于如何加速我的Android应用程序有什么建议吗?如果我将尽可能多的这些公共类变量移到方法和函数中,而不是将它们作为类变量,那么速度会有很大提高吗

提前谢谢

每个片段大约有15个公共静态类变量。这是糟糕的编程吗

可能吧。如果这是传统的Java开发,那么您可能会因为有那么多的
静态
字段而被烧死。在安卓系统中,我们更多地使用它们。15对于任何类别都是多余的;我希望一个碎片是零

不过,为了澄清,根据Gabe对您问题的评论,我指的是正常的
静态
字段,而不是常量(例如
静态最终int
静态最终字符串
)。常数是典型的、合理的,几乎可以肯定不是性能问题

我的应用程序似乎相当慢,我想知道这是否与有这么多公共静态类变量有关

可能不会

关于如何加速我的Android应用程序有什么建议吗

首先,你要弄清楚自己的速度有多慢。这是通过简单的
Log
语句(通过应用程序跟踪您的进度)、通过Android Studio方法跟踪还是其他方式,取决于您

每个片段大约有15个公共静态类变量。这是糟糕的编程吗

可能吧。如果这是传统的Java开发,那么您可能会因为有那么多的
静态
字段而被烧死。在安卓系统中,我们更多地使用它们。15对于任何类别都是多余的;我希望一个碎片是零

不过,为了澄清,根据Gabe对您问题的评论,我指的是正常的
静态
字段,而不是常量(例如
静态最终int
静态最终字符串
)。常数是典型的、合理的,几乎可以肯定不是性能问题

我的应用程序似乎相当慢,我想知道这是否与有这么多公共静态类变量有关

可能不会

关于如何加速我的Android应用程序有什么建议吗

首先,你要弄清楚自己的速度有多慢。无论是通过简单的
Log
语句(通过应用程序跟踪您的进度)、通过Android Studio方法跟踪还是其他方式,都取决于您。

您可以添加此选项

android:hardwareAccelerated="true"
在AndroidManifest中的应用程序标记上。希望这有帮助

您可以添加此

android:hardwareAccelerated="true"

在AndroidManifest中的应用程序标记上。希望这对优化有帮助

需要考虑的要点

1-在你的应用程序中,我可以看到你有7个片段。问题在于是否同时加载所有7个片段,或者是否有动态片段管理器在需要时处理所有数据/视图创建。如果您同时加载和创建所有片段,那么这肯定不是最佳方式。始终在需要时创建视图并加载数据。持久化动态数据,这些数据实际上是历史数据,也是应用程序流所必需的

2-拥有静态类不是糟糕的编程,但制造不必要的静态类确实是糟糕的编程。确定您认为是非静态的类,将其转换为非静态并进一步优化

3-你可能觉得应用程序速度慢,但背后可能有非技术原因。检查用于运行此应用程序的设备、平台和配置

4-确定保存和阻止UI响应的数据处理,创建异步任务/线程以在后台处理此类数据处理。尽可能使用延迟加载。创建带有静态支架的自定义适配器,以创建完美的UI

5-如果您觉得UI没有响应性,您可以考虑实现多种模式,如循环适配器、责任链、委派、观察者等


6-在设计UI时,确保您使用的是最佳布局,而不是在同一xml中使用多级和多级布局。

优化需要考虑的要点

1-在你的应用程序中,我可以看到你有7个片段。问题在于是否同时加载所有7个片段,或者是否有动态片段管理器在需要时处理所有数据/视图创建。如果您同时加载和创建所有片段,那么这肯定不是最佳方式。始终在需要时创建视图并加载数据。持久化动态数据,这些数据实际上是历史数据,也是应用程序流所必需的

2-拥有静态类不是糟糕的编程,但制造不必要的静态类确实是糟糕的编程。确定您认为是非静态的类,将其转换为非静态并进一步优化

3-你可能觉得应用程序速度慢,但背后可能有非技术原因。检查用于运行此应用程序的设备、平台和配置

4-确定保存和阻止UI响应的数据处理,创建异步任务/线程以在后台处理此类数据处理。尽可能使用延迟加载。创建带有静态支架的自定义适配器,以创建完美的UI

5-如果您觉得UI没有响应性,您可以考虑实现多种模式,如循环适配器、责任链、委派、观察者等

6-在设计UI时,请确保您使用的是最佳布局,而不是在同一xml中使用多级和多级布局。

It rea