gpt4 book ai didi

android - 使用更高级别的SDK进行构建/编译

转载 作者:行者123 更新时间:2023-12-02 00:15:42 25 4
gpt4 key购买 nike

我对一件事有些困惑,请看:


假设我们有在清单中声明了<uses-sdk
android:minSdkVersion="4" android:targetSdkVersion="10"/>
的源代码树
我正在使用SDK级别3(SDK3.apk)编译这些源
然后,我使用SDK级别10(SDK10.apk)构建源


这2个APK之间有什么区别? (SDK3.apk和SDK10.apk)我的意思是,我并不是在问技术细节,哪些库将使用这些APK,而是在询问具有不同OS的不同设备上APK的行为。哪个更好用?

更新我的项目没有什么特别的:使用SQLite,屏幕关闭和SD卸载广播拦截,使用某些电话功能。一切都在SDK级别3的功能/方法之内。我已经在不同的设备(旧的和全新的)上使用SDK3.APK和SDK10.APK进行了测试-看起来可行,但仍然存在问题。

最佳答案

给定您提供的信息,而不必考虑UI类,许可(如果有)和Layout类,则可以提供以下信息。

SQLite获得了一些小的优化,但没有什么大的优化。特别是,所有先前的功能均保持不变,并且所有常规行为均未更改。

电话变化很大。毫无疑问,随着我们在Android中的进一步发展,Telephony的响应速度将更快。从电话的角度来看,API 10更好。其原因是,许多应用程序无意间阻止了来电和去电。使用API​​ 10,很难无意间做到这一点,并且应用程序通常会以更有效的方式接收有关调用的更好,更准确的信息。 (不,这不仅仅是由于处理器和内存的升级)。

随着时间的流逝,SD指令的限制变得越来越少,而写入和读取变得更容易,但它们似乎也出现了一些错误(取决于电话)。但是,只要您遵循指南,就可以了。 Android文档非常适合告诉您如何处理数据。

现在,对于他们不告诉你的东西
人们普遍认为,随着API的增加,需要更少的黑客攻击就可以使您的应用在多部手机之间保持一致。实际上并非如此。仅仅是有关在社区成员中正确使用该平台的知识。例如,如果您知道怎么做,那么可以为像“主屏幕”这样“复杂”的事物提供一种无黑客的解决方案。

当您在代码中桥接更多API时,复杂性越来越普遍,从而产生了对黑客的虚假需求。自从特定的平台开发开始以来,在每个平台上的每个软件上都是如此。 (例如,人们仍在抱怨对IE6的支持)。选择一个好的开始点是最佳实践,并且确实会编写Google建议的方式,并附带一些注释。

Google显然没有想到我们可以做的所有很棒的事情。否则,他们将不需要我们使该平台成为目前最酷的平台(IMHO)。但是,它们确实告诉您如何正确使用其类和接口。遵循这些准则,并在它们之间做一些精巧的东西,无论您使用哪种API,您的应用程序都能正常运行。

其他一些东西
API 10中的一些“活动”和“视图”行为得到了显着改善,但这大部分是与事件处理本身有关的,而不是与基础结构有关的。除非您正在处理特定事件或以特定方式绑定到数据,否则在此处使用API​​ 10的好处并没有得到巩固。



在回应您的评论“为什么没有明确的答案?”
它始终取决于项目和您的用法的原因与它一直以来的原因相同。 OOP允许您覆盖正在使用的任何平台的几乎所有方面并对其进行重新编程。此外,您可以轻松地创建自己的事物实现。您的想象力和创新是这里的关键。

是否曾经使用过两件完全相同的软件,并认为“这是两者中的佼佼者?”您刚刚经历了我所描述的。可能会更好,因为您更加熟悉它的标准。但是,它也可能更好,因为它以更直观的方式打破了这些约定。

当您喜欢的软件可以在一台设备/计算机上运行,​​而在没有明显原因的情况下不能在另一台设备/计算机上运行时,同一事物可以展示自己。一款出色软件的关键在于您对解决方案的深刻见解,无论它在哪种设备上运行。从客户的角度来看,成功开发软件的关键是体验的一致性。换句话说,它可以使用多少台设备,可以使用多少人。我个人选择介于两者之间的某个位置,即使我喜欢超级闪亮的解决方案。仅仅因为我认为解决方案令人眼前一亮,并不意味着我的客户都可以使用我的解决方案,而我必须尽可能地支持我。

回应:“它与minSDKLevel有什么关系?
由于您要选择支持哪种Android OS级别,因此答案很明显。您说的是您的应用可以通过API 10一直安装在API 4上,并且将支持所有这些应用。这意味着您的默认结果APK将为所有结果提供解决方案(如果您对其进行编程)。

但是,如果您针对特定版本进行构建(就像许多版本使用不同的APK一样),则每个版本都有其自身的问题和支持。他们甚至(实际上,在许多情况下必须)有自己的市场准入。但是,如果您选择此模型,则应针对每个单独的构建调整清单,以使API 4设备(如果您具有特定于API 4的APK)看不到API 10 APK。



结论
总而言之,您可以期望的结果很大程度上取决于您对Google的Android编程指南的遵守程度以及您对规则的灵活掌握,而不是打破规则。通常,与API 3相比,大多数人都希望在API 10中获得更一致的体验。有了同等强大的数据引擎,这种体验通常可以使响应更加流畅。用户界面的外观在很大程度上取决于每个布局和视图的设置,并且可以在设备之间发生根本性的变化,尤其是在动态创建所有视图的情况下。在处理UI方面,API 3绝对是两者中更一致的,因为API 10还有很多其他选择。我想大多数人都会同意,API 10可能会为整个用户带来更令人满意的体验。

模糊逻辑

附言值得注意的是,我使用API​​ 7进行开发,因为它支持的设备范围最广,并且具有类似的选项集。任何未在7中实现但在10中实现的东西,我最终都可以重写以模仿。但是,这是我的偏爱。

关于android - 使用更高级别的SDK进行构建/编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7686224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com