ffos中WebAPI回调不能执行
来源:互联网 发布:杭州知彼 编辑:程序博客网 时间:2024/06/05 17:51
问题描述:在js中使用dom组件,将js中的一个函数作为回调函数设置给dom组件;在主线程中调用这个回调函数没有问题,但是如果在另一个线程里面调用这个回调函数则总是失败。
原因:没有在主线程调用导致!
一、如何查看
1.直接在程序中上下文打印
root@android:/ # TVMSFmanagertest
>>>[tv_display] VideoHole is 0 0 1919 1079>>>[tv_display] VideoAxis is 0 0 1919 1079##########TK------->>>>>########gettid is 3130 //register线程号是3130************start test interface and function***************please input 0 1 to 50 is exit!1 pindao jia2 pindao jian3 xuanze pindao4 getCurrentProgramInfo5 dtvFullScan6 dtvManualScan8 dtvStopScan7 getProgramCount5############---TK--------->>>>gettid is 3131 //回调这里是3131############---TK--------->>>>gettid is 3132############---TK--------->>>>gettid is 3131############---TK--------->>>>gettid is 3132############---TK--------->>>>gettid is 3131############---TK--------->>>>gettid is 3132############---TK--------->>>>gettid is 3131############---TK--------->>>>gettid is 3132
2.proc文件系统
cat /proc/3130/status
Name:TVMSFmanagertesState:S (sleeping)Tgid:3130Pid:3130PPid:3026TracerPid:0Uid:0000Gid:0000FDSize:32Groups:VmPeak: 6032 kBVmSize: 6032 kBVmLck: 0 kBVmHWM: 1216 kBVmRSS: 1216 kBVmData: 2256 kBVmStk: 136 kBVmExe: 28 kBVmLib: 2308 kBVmPTE: 10 kBVmSwap: 0 kBThreads:3 //一共有三个线程!!!!!SigQ:0/5812SigPnd:0000000000000000ShdPnd:0000000000000000SigBlk:0000000000000000SigIgn:0000000000000000SigCgt:00000000000094e8CapInh:0000000000000000CapPrm:ffffffffffffffffCapEff:ffffffffffffffffCapBnd:ffffffffffffffffCpus_allowed:3Cpus_allowed_list:0-1voluntary_ctxt_switches:110nonvoluntary_ctxt_switches:54
二、解决办法
调用DOM组件提供的方法:NS_DispatchToMainThread;将需要执行的JS部分回调函数放入主线程上下文。
三、其他问题
上述问题解决以后,发现在回调函数执行到二十次左右时仍然会挂掉,通过打印、发现回调部分函数指针为NULL;后经过分析,ffos引入了智能指针功能,当不再使用时、自动release资源。
后来,将该回调指针引入智能模板,问题解决。
0 0
- ffos中WebAPI回调不能执行
- FFOS gecko 添加javascript 实现的webapi
- FFOS introduction
- Asp.Net WebAPI中Filter过滤器的使用以及执行顺序
- webpy中web.webapi
- webapi中使用session
- 命令行中有空格不能执行
- 实现定时器执行中不能二次触发
- ListView的setOnItemClickListener回调不能执行的解决
- WebApi中实现Cors访问
- MEF在WebApi中应用
- .net WebApi中使用swagger
- net WebApi中使用swagger
- WebAPI
- webApi
- webapi
- WebAPi
- webAPI
- 页面导航
- 数据导入:Mysql to MSSql ---Mysql数据导入Sql Server 工具。
- STM32_FSMC_TFT控制原理(2012/01/03)
- Git和Repo管理使用简要介绍
- B树、B-树、B+树、B*树都是什么
- ffos中WebAPI回调不能执行
- 黑马程序员_java基础--集合框架(3)
- ajax的再次封装!
- Linux端口占用解决
- spring接收对象数组实例
- 从CM刷机过程和原理分析Android系统结构
- 字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)
- Oracle 多行合并一行 方法
- 深入理解HTTP协议