我正在嘗試使用WebView顯示動畫GIF。它在大多數設備上都能正常工作,但其中一些設備不支持動畫並顯示靜態GIF。Android動畫GIF
我如何檢測設備支持的WebView GIF動畫,所以如果沒有我可以顯示相應的消息?
我正在嘗試使用WebView顯示動畫GIF。它在大多數設備上都能正常工作,但其中一些設備不支持動畫並顯示靜態GIF。Android動畫GIF
我如何檢測設備支持的WebView GIF動畫,所以如果沒有我可以顯示相應的消息?
呀,這接縫是a common issue。在Bug報告中發佈了一些解決方法,但它接受了它不是Android核心功能。
一些公司(如HTC)可能照顧這個自己,但你不能依靠gif動畫的工作。
GIF動畫的支持,加入到Android 2.2版本。如果您使用Build.VERSION檢查版本,它應該告訴你GIF是否工作。
我從使用2.2的人那裏收到GIF不工作的報告。 –
此答案無效。有一些Android 2.1手機支持GIF製造商,並且有一些Android 2.3手機根本沒有GIF支持。 –
正如你可以用這個鏈接http://code.google.com/p/android/issues/detail?id=3422看到。 這個問題至今仍未解決兩年。 但是大多數設備在薑餅中運行良好。所以,你可能要檢查操作系統級別(從9級),這是工程或不
謝謝,但我正在尋找一種可靠的方法來檢查當前設備是否實際支持動畫GIF。 「大多數時間工作」的解決方案是不夠的。 –
在Android C++文件external/webkit/WebCore/platform/graphics/android/ImageSourceAndroid.cpp
上有一個函數static bool should_use_animated_gif(int width, int height)
如果ANDROID_LARGE_MEMORY_DEVICE
定義返回true
。
Here,Leon Scroggins(似乎是谷歌工程師)說ANDROID_LARGE_MEMORY_DEVICE
被定義爲「對於所有帶有VFP的手臂設備以及所有非手臂設備」。
編輯:這是由external/webkit/Android.mk
證實:
ifeq ($(ARCH_ARM_HAVE_VFP),true)
LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
endif
在我的理解,所有的ARMv7的CPU確實有一個數據庫,以便GIF動畫應該在現代的CPU與ARMv7的工作。
我知道我不能,這就是爲什麼我問如何檢查它們是否支持當前設備。 –
好吧,如果@Prios_KR提供的解決方案不夠用,恐怕沒有解決辦法。 –