Android浏览器的插件渲染模式简介

Android浏览器的插件渲染模式简介简单介绍了Android浏览器的插件渲染模式(bitmap模式和surface模式)

大家好,又见面了,我是你们的朋友全栈君。

 

Android2.1的浏览器插件有两种渲染模式,在android_npapi.h里的定义分别是:

        kBitmap_ANPDrawingModel = 0;

        kSurface_ANPDrawingModel = 1;

        (后面简称bitmap模式和surface模式)。

在实例初始化的时候(Plugin函数列表的newp被调用时),Plug-in需要告知浏览器采用何种渲染方式。

 

下面就对这两种渲染方式作简要介绍:

 

1.bitmap模式

Android浏览器的插件渲染模式简介

 

kBitmap_ANPDrawingMode是传统的渲染方式,这种方式下,浏览器的底层会通过调用Plug-in提供的NPP_HandleEvent函数触发绘制事件,并把要渲染的bitmap的地址作为参数的一部分传给plug-inplug-in只需要使用在初始化时获取到的相关的ANPInterface进行绘制即可。这种模式下,plug-in不需要考虑缩放问题,画面的缩放会由webkit自行处理。

 

//===================================

 

2.surface模式

 

Android浏览器的插件渲染模式简介

 

kSurface_ANPDrawingMode带有Android平台的特殊性,因为这种模式是需要Java侧配合的。这种模式下,Plug-in会在初始化时把自己的PluginStub的类名告知webkitwebkit会根据这个类名,并结合npp参数,在Java侧获取到对应的view,并加到自己的布局里面。要使用这种模式,plug-in必须实现一个继承于PluginStub的类,这个类和SurfaceView有点类似,而且需要自己实现缩放。

 

根据android_npapi.h里的描述,Surface模式的性能要比bitmap模式好,但是我在模拟器上测试时发现surface模式在缩放时会出现闪烁。不过现在android2.2的nexus one上的flash10.1貌似就是surface模式的,但是没有闪烁,看来google为了支持Flash,在最近几版Android上对webkit作了不少修改。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146753.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • N皇后问题(c语言实现)

    N皇后问题(c语言实现)问题描述 有一个 n n 的棋盘 在这个棋盘中放 n 个皇后 使得这 n 个皇后 任意两个皇后不在同一行 同一列 同一条对角线 例如 当 n 等于 4 时 有两种摆法 输入只有一个整数 n 思路如果我们是从这个 n n 这个棋盘中选取 n 个方格放皇后 再去判断是否满足条件的话 则效率会非常低 这是一个组合数 complement nn nn atopn nn nn 当 n 等于 8 时 就要枚举次

    2025年9月1日
    0
  • ⭐Python实现多线程并发下载大文件(制作支持断点续传的下载器的绝佳参考⁉️)⭐

    ⭐Python实现多线程并发下载大文件(制作支持断点续传的下载器的绝佳参考⁉️)⭐不知道各位童鞋们是否遇到过需要使用python下载文件的需求,当然一般情况下,我们更多是使用下载器去批量下载文件。但有时我们需要批量下载PDF,通过python解析出url后,直接使用python进行下载才是最方便的。对于常规的小文件,我们直接使用requests的get请求即可下载。对于网络不佳的网站,直接使用requests下载很可能网站中断直接下载失败。今天本文的的目前主要是教会大家如何实现python下载文件失败的断点续传,如何实现分片后多线程下载文件加速文件下载。下面我们以知乎视频《【AI混血

    2022年7月20日
    25
  • idea 2021.5 激活码【注册码】「建议收藏」

    idea 2021.5 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    45
  • 树莓派 linux挖矿机,无矿机情况下使用树莓派CPU挖矿「建议收藏」

    最近挖矿很火热,就利用树莓派cpu挖矿试试,做个蛋疼的实验。虽然知道会惨不忍睹,但也就是玩玩。有兴趣的,可以尝试下。1.安装好依赖sudoapt-getupdatesudoapt-getinstalllibusb-1.0-0-devlibusb-1.0-0libcurl4-openssl-devlibncurses5-devlibudev-dev2.安装挖矿工具cgminerwg…

    2022年4月12日
    49
  • 解决NVIDIA显卡驱动 图形驱动程序安装失败 问题

    解决NVIDIA显卡驱动 图形驱动程序安装失败 问题本教程是在当你尝试一般的教程都无法解决问题的前提下使用,比如使用DDU工具卸载原显卡驱动后重新安装无效,找不到独立显卡的情况。退出火绒等杀毒软件win+R输入services.msc进入服务。将WindowsUpdata启动类型改为自动,并启动服务。win+R输入gpedit.msc进入本地策略编辑器。在计算机配置-模板管理-系统-设备安装-设备安装限制中双击图中第三个将其改为未配置或禁用重新安装显卡驱动即可…

    2022年5月6日
    842
  • idea多多激活码(最新序列号破解)

    idea多多激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    238

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号