我一直在研究一款針對Android 4.0及更高版本的應用,但沒有支持早期版本的計劃。我有什麼好的理由繼續使用支持庫嗎?使用支持V4是否有任何理由在Android中使用support.v4庫?
12
A
回答
55
有許多的features唯一適用於所有API級別支持庫:
- LocalBroadcastManager - 允許應用程序在單個應用程序中輕鬆註冊和接收意圖,而無需在全球進行廣播。
- ViewPager - 添加一個ViewGroup,它管理子視圖的佈局,用戶可以在其間滑動。
- DrawerLayout - 添加支持創建可從窗口邊緣拉入的Navigation Drawer。
- SlidingPaneLayout - 添加小部件,用於創建適合各種屏幕尺寸的鏈接摘要和詳細視圖。
- FileProvider - 增加了在應用程序之間共享私人文件的支持。
以及其它,如
- WakefulBroadcastReceiver - 助手用於實現接收裝置的喚醒事件,然後一個BroadcastReceiver的共用圖案經過工作開了一個服務,同時確保該裝置不在過渡期間回去睡覺。
- AtomicFile - 有關文件
- SwipeRefreshLayout原子操作 - 增加了拉來刷新視圖
還要注意,一些較新的功能,如nested Fragments(其中僅加入在Android 4.2)可供選擇在Fragments的支持庫版本中。 Renderscript intrinics也僅在Android 4.2中引入,如果您正在進行實時圖像處理等操作,則很重要。 Big style notifications and notification actions(在Android 4.1中引入)在使用NotificationCompat(並在其上構建Android Wear Notification API)時更易於使用。
1
優勢(據我所知):
- 您可以使用ViewPager(它只存在於支持V4)
- 您可以使用ArrayMap(在API 19加)
0
相關問題
- 1. 是否有任何理由使用[:over @:?
- 2. 是否有任何理由使用isset()?
- 3. 是否有任何理由使用System.Uri?
- 4. 是否有任何理由在C#中使用私有屬性?
- 5. 是否有任何理由在Arduino中編寫自己的庫?
- 6. 是否有任何理由在JavaScript中使用Object.create()或new?
- 7. 是否有任何理由在vb6中使用DHTML或IIS?
- 8. 是否有任何理由在VBA中使用ENUM?
- 9. 是否有任何理由在Swift中使用選擇器?
- 10. 是否有任何理由在java中使用null == value條件?
- 11. 是否有任何理由在微軟ISV中使用TFS 2010?
- 12. 程序員是否有任何理由使用System.in.read()中的char?
- 13. 是否有任何理由在'.class'上使用selector'* .class'?
- 14. 是否有任何理由在兩個MemoryStream之間使用CopyToAsync
- 15. 是否有任何真正的理由在Uitextfield上使用UiSearchBar?
- 16. 是否有任何理由克隆Android中的空數組?
- 17. 是否有任何理由Object.freeze函數?
- 18. C++:是否有任何理由使用uint64_t,而不是size_t
- 19. 是否有任何理由使用SGML而不是XML?
- 20. 是否有任何理由使用Apache HashCodeBuilder而不是Objects.hash?
- 21. 是否有任何理由不在生產數據庫上使用Rails遷移?
- 22. 是否有任何理由在Internet Expolorer中用JScript替換JavaScript?
- 23. 是否有任何理由將引用留在AssemblyInfo.cs中的System.Runtime.CompilerServices?
- 24. 是否有任何理由在C++ 1z中使用std :: map :: emplace()而不是try_emplace()?
- 25. 是否有任何理由不使用INLINABLE pragma作爲函數?
- 26. 是否有任何理由通過PyMem_Malloc使用malloc?
- 27. 是否有任何理由使用RabbitMQ而非Kafka?
- 28. 是否有任何理由不使用Boost :: shared_ptrs?
- 29. 是否有任何理由對羣集使用鎖文件?
- 30. 是否有任何理由使用self關鍵字?
哇,沒有意識到支持庫帶來的所有這些功能。謝謝!我還在過去一小時發現它還包括[NotificationCompat](http://developer.android.com/reference/android/support/v4/app/NotificationCompat.html)庫,這是在API下面生成通知所需的庫級別16. –
Android再一次證明自己是違反直覺的。我真希望所有這些亂七八糟的東西都是在引擎蓋下處理的,而不是讓用戶因爲錯綜複雜的圖書館而遭受後果。 –
@AndrewS - 我很想聽聽你對更好系統的建議!不幸的是,只有很多方法才能將新功能提供給舊平臺級別,而不是提供不與API級別綁定的庫。 – ianhanniballake