Является ли привязка JavaScript JNI для Android эффективно передавать TypedArray / ArrayBuffer в Java в виде массива?

В привязке JNI для Android вы можете выставить Java-метод, такой как method(int[] intArray) {} на JavaScript, передать ему массив JavaScript и ожидать привязки для преобразования этого массива JavaScript в int[] . Есть ли у Android одинаковая обработка, например, Uint8Array() ?

Механизм JavaScript, который работает в веб-браузере Android, не поддерживает Uint8Arrays или любые другие типизированные массивы (начиная с 2.3.3).

EDIT: Я сделал еще несколько тестов с симуляторами, и у меня есть смешанные вещи, чтобы сообщить.

С положительной стороны, механизм JavaScript в WebView Android 3.x поддерживает типизированные массивы, за исключением Float64Array.

С минусовой стороны интерфейс JNI для Java через WebView.addJavascriptInterface () не преобразует типы вообще. Это код, который я использовал для его проверки:

 var u8arr = new Uint8Array(4); u8arr.set([2, 3, 5, 7]); android.log(u8arr); 

И функция Java для android.log () выглядит в основном так:

 public void log(final int[] data) { final String dataInfo = (data == null) ? "NULL" : "[" + data.length + "]"; Log.d("JsJni", "data=" + dataInfo); /* ... */ } 

Когда я вызывал android.log со стандартным объектом JavaScript типа Array (), я бы получил результаты, которые можно было бы ожидать (массив привязан к данным, преобразование типов и т. Д.). Когда android.log вызывается с объектом Uint8Array ( Или любые другие типизированные массивы, в том числе Int8Array, Int16Array и Int32Array), данные равны нулю .

То же самое и между Android 3.0 и 3.2

Intereting Posts
Recyclerview внутри scrollview. Как прокрутить весь контент? Календарь возвращает неверную текущую дату android Внедрение недавно разработанных руководств по дизайну Android и UI для версий 2.x LocationClient получать обновления местоположения по расстоянию Как остановить звонок телефона при воспроизведении (произношении) имени вызывающего абонента, а затем снова звонить по телефону Новичкам для мобильных разработчиков (Android и iOS) необходимо руководствоваться Как скрыть панель инструментов после свертывания, в то время как recyclerView прокручивается вниз Переключение на определенный фрагмент дает странное java.lang.NullPointerException Как нарисовать идеальную круговую кнопку? Вращение изображения с opencv в android разрезает края изображения Android – Понижение растрового изображения на холсте Как сохранить растровое изображение, которое я получил с камеры, на SD-карту, не теряя при этом оригинальный размер и качество Что такое Android Pre-Dexing и как повысить производительность? Видео эскиза GetSupportFragmentManager getFragment без тега или идентификатора