社区
高通开发者论坛
帖子详情
请问高手:Brew中可以实现单例模式吗?
lijiangyun
2009-06-12 11:15:28
如题:本人做输入法模块,想把输入法接口做成单例模式的,即输入法接口只创建一次,这样不用每个输入框都创建输入法接口,而且可以达到输入数据共享;但怎样保持输入法接口单例呢?好像很难做到唉!
...全文
1839
14
打赏
收藏
请问高手:Brew中可以实现单例模式吗?
如题:本人做输入法模块,想把输入法接口做成单例模式的,即输入法接口只创建一次,这样不用每个输入框都创建输入法接口,而且可以达到输入数据共享;但怎样保持输入法接口单例呢?好像很难做到唉!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lijiangyun
2009-09-17
打赏
举报
回复
已在OEM层通过static方式实现成单例模式;亦可在线输入;
nicefuture
2009-09-17
打赏
举报
回复
另外,提醒LZ, 单实例是有具体使用场合的,不能想用就用。
对于输入法接口, 你再好好看看, 应该做成单实例吗?? ???
nicefuture
2009-09-17
打赏
举报
回复
请注意,BREW中实现SingleTon没有想象中的简单。 这是因为, 除了实现SingleTon以外, 你还要保证SingleInstance中分配的内存,是在系统环境下分配的。 否则, 单第一个创建单实例接口的App退出后,该接口实例内存会被自动释放,从而导致无效。
对于OEM,实现为Static方式,是很方便的。
而要实现为动态的方式, 如何保证内存分配不是在App环境下的, 就需要一定的技巧了。 因为,默认切换环境的API没有直接对应的接口可以被使用
kingfenggg
2009-09-17
打赏
举报
回复
需要好好理解单例模式的使用条件
iBug168
2009-09-16
打赏
举报
回复
还有一种方式可以模拟实现全局变量。
找一个module存放即可。。。如果没有一直加载的module可以自己写一个module.
只要把这个输入法的数据放入到共享module中即可。。。
trancebaby
2009-06-16
打赏
举报
回复
输入法接口做成单例模式有什么好处呢?
需要的时候创建一个应该比较好吧,这样里面的状态比较独立不会互相影响.
半吊子全栈工匠
2009-06-12
打赏
举报
回复
[Quote=引用 2 楼 hhygcy 的回复:]
Brew里面不支持静态变量
但是你可以搞个类似的全局变量
因为你在什么时候都可以GETAPPINSTANCE()拿到application的句柄
所以建议你把你的输入法模块放在application类里面, 就像当于全局了
[/Quote]
好办法
hhygcy
2009-06-12
打赏
举报
回复
Brew里面不支持静态变量
但是你可以搞个类似的全局变量
因为你在什么时候都可以GETAPPINSTANCE()拿到application的句柄
所以建议你把你的输入法模块放在application类里面, 就像当于全局了
sunyymq
2009-06-12
打赏
举报
回复
不难做啊,你再封装一层就是了。
zsf81
2009-06-12
打赏
举报
回复
你是OEM就可以改输入法控件,不是的话就自己封类似widget这样的控件,封完后,自己再调用控件就可以实现。
hhygcy
2009-06-12
打赏
举报
回复
ISHELL 其实也是全局的 IAPPLET 里面的一个变量, 我们就相当于在里面加了一个变量。 (系统不过是和我们在做一样的事情罢了)
但是你不喜欢这种风格就没有办法了 呵呵
lijiangyun
2009-06-12
打赏
举报
回复
那想想看,手机里面这么多app,每个app都要去修改唉。。。
而且单例的实现要在widget里面实现,在widget里面获取app
的属性,这种调用我不能忍受唉。。。
有没有更“全局”的,控件级的,类似ISHELL这样的,但是
ISHELL又不能修改。。。
半吊子全栈工匠
2009-06-12
打赏
举报
回复
app创建或销毁时增加重复的代码,必须的呀
lijiangyun
2009-06-12
打赏
举报
回复
谢谢各位的回复!
2楼的确实是一种可行的办法,可以做到系统里只创建一套输入法接口,
但是付出的代价是要在所有的app里面保存一个输入法接口指针,而且
要在app创建或销毁时增加重复的代码。。。而且输入法要跟控件挂钩
的,这样意味控件里面要通过GETAPPINSTANCE去获取app的输入法指针,
这样错乱的架构我宁愿选择一个输入框创建一套输入法接口。。。
[Head First设计模式]云南米线馆
中
的设计模式——模版方法模式
系列文章 [Head First设计模式]山西面馆
中
的设计模式——装饰者模式 [Head First设计模式]山西面馆
中
的设计模式——观察者模式 [Head First设计模式]山西...[Head First设计模式]一个人的平安夜——
单例模式
[He...
go技术文章精选(2019)
你应该掌握的 Go 高级并发模式:计时器 https://developer.51cto.com/art/201912/608341.htm 别告诉我这是真的?goroutine 可能使程序变慢 https://mp.weixin.qq.com/s/PkuspIWKQpL7awtpCg-rOA ...
Python体验之旅
装饰器与元编程 装饰器(Decorator) 基本概念 简单装饰器示例 带参数的装饰器 类装饰器 元编程(Metaprogramming) 基本概念 元类基础 动态创建类 装饰器与元编程的结合 类装饰器 + 元编程 使用元类
实现
单例模式
...
JAVA开发全集
//5��可以通过SoapEnvelope有效的获取相应的Body和Header等信息 SOAPBody body = envelope.getBody(); //6���根据Qname创建相应的节点(QName就是一个带有命名空间的节点)���������ռ��) ...
课程设计-jsp530美食与健康网站(ssh)-qkrp-修改.zip
课程设计 源代码+数据库+配套文档+教程
高通开发者论坛
2,854
社区成员
5,764
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章