社区
高通开发者论坛
帖子详情
请问高手:Brew中可以实现单例模式吗?
lijiangyun
2009-06-12 11:15:28
如题:本人做输入法模块,想把输入法接口做成单例模式的,即输入法接口只创建一次,这样不用每个输入框都创建输入法接口,而且可以达到输入数据共享;但怎样保持输入法接口单例呢?好像很难做到唉!
...全文
1848
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的输入法指针,
这样错乱的架构我宁愿选择一个输入框创建一套输入法接口。。。
MacBook Pro 错误提示:zsh: command not found:
brew
'前段时间用Mac的时候发现:
Brew
这个命令没有' > 错误信息:zsh: command not found:
brew
解决方法 找了许久,本人也捣鼓了许久,但是均未实际解决问题 估计原厂的
brew
是有的,可能有问题导致找不着 '...
Mac终端:
brew
command not found 解决方法
Mac终端出现
brew
command not found 解决 错误提示: zsh: command not found:
brew
命令安装 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/Home
brew
CN/raw/master/Home
brew
.sh)" 1.运行命令,输入...
解决mac安装home
brew
后报错-bash:
brew
: command not found
参照官网上很简单的一句安装命令, /usr/bin/ruby -e "...安装完毕后,发现使用
brew
命令,却总是提示:-bash:
brew
: command not found 于是怀疑安装过程出现问题,打算重装,重装却报: ...
mac报错:zsh:command not found:
brew
mac报错:zsh:command not found:
brew
macM1 出现 zsh: command not found:
brew
问题解决方案
macM1 出现 zsh: command not found:
brew
问题解决方案 使用mac 命令查看电脑硬盘使用率 新的mac ,想查看ssd 使用,输入命令
brew
install smartmontools smartctl -a /dev/disk1 出现错误 zsh: command not found:...
高通开发者论坛
4,652
社区成员
5,840
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以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写文章