什么可能导致应用程序在某些设备上运行而不在其他设备上运行?

时间:2014-03-17 16:46:41

标签: android

我经常听到有些应用程序在某些型号或品牌上运行,但同一应用程序崩溃,或者在某些其他设备上根本无法运行。

我真的无法理解。在运行Android的相同版本的所有设备上,Android API是否相同?你有其他想法吗?

3 个答案:

答案 0 :(得分:1)

很多小事。某些设备上的内存不足。硬件驱动程序中的错误。微妙的假设,硬件将以某种方式作出反应。硬件不具备能力 - 例如某些触摸屏只能检测到2个手指,有些可以检测到10个。当然,他们可能会使用略有不同版本的Android,有/无修复错误,或者有一些自定义更改。然而,99%的时间你的应用程序都可以工作,除非你推动硬件,否则它真的没什么大不了的。

答案 1 :(得分:1)

  • 某些设备具有不同的本机API实现,例如,即使文档说所有设备都支持44100,AudioRecord也可能仅在某些设备上支持22050 Hz。

  • 由于性能不同,您的应用可能会崩溃,例如,如果某些设备测量布局较慢,但您希望布局在特定时间布局在另一个线程中 - 您可能会崩溃。

  • 有些设备没有内置Geocoder,因此会崩溃。

  • 如果您的应用内存很大,某些设备的内存较少,并且可能会因OutOfMemoryError而崩溃。

  • 有些设备没有Google Play服务。如果您不经检查就依赖它们,它就会崩溃。

  • 有些设备没有摄像头/加速度计/气压计/蓝牙/等等,如果您在使用之前没有检查可用性,它会崩溃。

还有很多话要说,但您必须查看崩溃日志以跟踪特定问题。

答案 2 :(得分:0)

嗯,是的,Android版和apis是一样的。 但想想手机上的不同硬件。 一个可能有一个相机,一个可能没有。 1有256mb的ram,另外2g。 屏幕尺寸和dpi相同。

所以它不仅是软件问题..