我混淆了android碎片。我知道内存碎片但是无法理解什么是android碎片问题。虽然我找到了许多定义,如
Android碎片是指关注数量惊人的问题 不同的可用Android操作系统(OS)版本 市场。主要问题是可能降低了互操作性 使用Android软件开发编码的应用程序设备 套件(Android SDK)。
有人可以简单地解释一下这种现象。 ??
答案 0 :(得分:3)
简单地说,有太多的Android设备有不同的操作系统版本,屏幕外形,不同的硬件规格等等,所有这些都预计会运行每一个开发的Android应用程序,而性能没有任何明显的差异,可靠性等。
<强>示例:强>
Fragment
&amp;在API级别11中引入了ActionBar
个类。多个AsyncTask
将在API级别8和10之间并行运行单独的线程,并从API级别11开始连续运行。这要求开发人员在不同的操作系统版本上认识到应用程序行为。为了帮助开发人员,Google提供了支持库,可以在没有这些功能的旧平台上提供更新的API。最新版本的支持库使您可以在旧版平台上使用新的Material Design
功能。Asphalt
这样的游戏需要一个非常强大的处理器/ GPU&amp;内存很多,无法在低端设备上运行。某些应用需要某些特定的传感器,甚至在没有这些传感器的手机上的Play商店中也看不到。蓝牙低功耗(BLE)功能是在API级别17上引入的,不会在较低的平台上运行。Android SDK旨在帮助开发人员克服碎片问题。
答案 1 :(得分:2)
它不像内存碎片这样的技术问题。在这种情况下,单词&#34; fragmentation&#34;指从一个Android版本到下一个版本的用户体验(菜单项移动等)和开发者体验(哪些API可用等)的变化。有时面向开发人员的API更改会影响用户体验。例如,用户最喜欢的小部件可能会停止使用最新版本的Android,因为Google决定打破它所依赖的某些API。供应商和运营商在安装所有自定义设备时加剧了这一点,加上奇怪的设备特定错误。最终的结果是实际上有数百种不同版本的Android ,而不仅仅是十几种。让应用程序在所有这些应用程序上运行变得非常困难,更不用说提供一致的用户体验了。
我认为没有人曾试图为此类碎片制定指标,因此很难说Android是否真的比其他平台更加分散。我的印象是,但我的比较标准是J2SE API。