我经常听到有些应用程序在某些型号或品牌上运行,但同一应用程序崩溃,或者在某些其他设备上根本无法运行。
我真的无法理解。在运行Android的相同版本的所有设备上,Android API是否相同?你有其他想法吗?答案 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相同。
所以它不仅是软件问题..