首页 文章 精选 留言 我的

精选列表

搜索[提高],共10000篇文章
优秀的个人博客,低调大师

一种提高Android应用进程存活率新方法(下)

接上文 创建 Account服务 publicclassXXAuthServiceextendsService{ privateXXAuthenticatormAuthenticator; @Override publicvoidonCreate(){ mAuthenticator=newXXAuthenticator(this); } privateXXAuthenticatorgetAuthenticator(){ if(mAuthenticator==null) mAuthenticator=newXXAuthenticator(this); returnmAuthenticator; } @Override publicIBinderonBind(Intentintent){ returngetAuthenticator().getIBinder(); } classXXAuthenticatorextendsAbstractAccountAuthenticator{ privatefinalContextcontext; privateAccountManageraccountManager; publicXXAuthenticator(Contextcontext){ super(context); this.context=context; accountManager=AccountManager.get(context); } @Override publicBundleaddAccount(AccountAuthenticatorResponseresponse,StringaccountType,StringauthTokenType,String[]requiredFeatures,Bundleoptions) throwsNetworkErrorException{ //添加账号示例代码 finalBundlebundle=newBundle(); finalIntentintent=newIntent(context,AuthActivity.class); intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,response); bundle.putParcelable(AccountManager.KEY_INTENT,intent); returnbundle; } @Override publicBundlegetAuthToken(AccountAuthenticatorResponseresponse,Accountaccount,StringauthTokenType,Bundleoptions) throwsNetworkErrorException{ //认证示例代码 StringauthToken=accountManager.peekAuthToken(account,getString(R.string.account_token_type)); //ifnot,mightbeexpired,registeragain if(TextUtils.isEmpty(authToken)){ finalStringpassword=accountManager.getPassword(account); if(password!=null){ //getnewtoken authToken=account.name+password; } } //withoutpassword,needtosignagain finalBundlebundle=newBundle(); if(!TextUtils.isEmpty(authToken)){ bundle.putString(AccountManager.KEY_ACCOUNT_NAME,account.name); bundle.putString(AccountManager.KEY_ACCOUNT_TYPE,account.type); bundle.putString(AccountManager.KEY_AUTHTOKEN,authToken); returnbundle; } //noaccountdataatall,needtodoasign finalIntentintent=newIntent(context,AuthActivity.class); intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,response); intent.putExtra(AuthActivity.ARG_ACCOUNT_NAME,account.name); bundle.putParcelable(AccountManager.KEY_INTENT,intent); returnbundle; } @Override publicStringgetAuthTokenLabel(StringauthTokenType){ //thrownewUnsupportedOperationException(); returnnull; } @Override publicBundleeditProperties(AccountAuthenticatorResponseresponse,StringaccountType){ returnnull; } @Override publicBundleconfirmCredentials(AccountAuthenticatorResponseresponse,Accountaccount,Bundleoptions) throwsNetworkErrorException{ returnnull; } @Override publicBundleupdateCredentials(AccountAuthenticatorResponseresponse,Accountaccount,StringauthTokenType,Bundleoptions) throwsNetworkErrorException{ returnnull; } @Override publicBundlehasFeatures(AccountAuthenticatorResponseresponse,Accountaccount,String[]features) throwsNetworkErrorException{ returnnull; } } } 声明Account服务 <service android:name="**.XXAuthService" android:exported="true" android:process=":core"> <intent-filter> <action android:name="android.accounts.AccountAuthenticator"/> </intent-filter> <meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator"/> </service> 其中authenticator为: <?xmlversion="1.0"encoding="utf-8"?> <account-authenticatorxmlns:android="http://schemas.android.com/apk/res/android" android:accountType="@string/account_auth_type" android:icon="@drawable/icon" android:smallIcon="@drawable/icon" android:label="@string/app_name" /> 使用Account服务 同SyncAdapter,通过AccountManager使用 。申请Token主要是通过 AccountManager.getAuthToken)系列方法 。添加账号则通过 AccountManager.addAccount) 。查看是否存在账号通过 AccountManager.getAccountsByType) Refs 微信Android客户端后台保活经验分享 Android Low Memory Killer原理 stackOverflow 上介绍的双Service方法 Write your own Android Sync Adapter Write your own Android Authenticator Android developer android.accounts AccountManager AbstractAccountAuthenticator AccountAuthenticatorActivity Creating a Sync Adapter Android篇从底层实现让进程不被杀死(失效Closed) Android 4.3+ NotificationListenerService 的使用 Going multiprocess on Android 本文作者:佚名 来源:51CTO

优秀的个人博客,低调大师

传感器市场需求旺盛 推陈出新要求不断提高

近期,澳大利亚莫纳什大学的研究人员已成功解决了可穿戴传感器的弯曲和拉伸功能等问题,该穿戴式传感器可用于生物医学领域;英国四所高校牵头开展一项智能传感器系统研究,以深入研究具备更高智能和稳定性的传感器系统,探索其未来在智慧城市、大数据和自动驾驶等方面的应用;瑞典Fingerprint Card成功开发出一种指纹扫描器能够置于手机保护玻璃下方,无需特殊Home键或者其他按键辅助,用户只要将手指放在屏幕特定位置就能够进行指纹识别的新型指纹传感器。 近年来,传感器正处于传统型向新型传感器转型的发展阶段。新型传感器的特点是微型化、数字化、智能化、多功能化、系统化、网络化,它不仅促进了传统产业的改造,而且可导致建立新型工业,是21世纪新的经济增长点。 不管“工业4.0”还是“中国制造2025”,其实最本质的变化是智能化生产,而在谷荣祥看来,传感器是整个智能化的关键。因为“工业4.0”和“中国制造2025”最核心的方面是智能制造,不管网络化还是数字化,最前端都将是智能化,但所有的这些都将离不开传感器。 传感器产业作为国内外公认的具有发展前途的高技术产业,以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。2007-2014年我国传感器行业得到较好的发展,行业工业总产值总体呈上升趋势,在GDP中的占比维持在0.10%-0.15%之间。在国家大力加强传感器的开发和应用的一系列政策引导和支持下,我国传感器行业面临良好的发展前景,未来成长空间可期。 传感器与安防行业息息相关,作为物联网行业发展的一部分,安防行业中很多产品都需要传感器来实现功能,物联网安防的发展,对传感器需求进一步加大。 据勒克斯研究报告,移动设备的激增,可穿戴设备的日益流行以及连接式物联网的出现促使对传感器的预期需求向一万亿推进。应以满足功率消耗、敏感度、外形因素和成本方面未能满足的需要。IDC认为,传感器及功能模块等设备的产值将达到整个产业的32%。这将促使专门的物联网平台,软件,及云服务等成熟。 物联网的竞争,其实就是元器件的竞争,因为性能卓越的元器件,才是做出新时代“爆品”的前提。从物联网产品的属性上来看,最基本的元器件竞争就落实到传感和能耗。只有能更好地感知外面的世界,同时产品的续航时间足够长,万物互联的物联网才有意义。 我国传感器行业近年来呈快速增长状态,比如光敏传感器,2014年其生产能力达到了4.5亿只,市场需求量业达到了2.5亿只,数据表明了光敏传感器的市场发展前景良好。据了解,光敏传感器广泛应用于信息、机械、家电等领域,主要产品有光探测器、光电传感器、CCD图像传感器、光纤传感器等。 随着传感器市场的扩大,流量传感器、压力传感器、温度传感器占据市场份额分别为21%、19%、14%,这为传感器的发展加快了脚步。在智能化的发展下,未来传感器市场将朝无线传感器、微系统传感器及生物传感器等新兴传感器发展。 工业和信息化部领导表示,要推进物联网发展的核心技术突破,推动包括传感器及芯片技术、传输技术、信息处理技术的创新发展,逐步完善物联网标准体系,积极推动自主技术标准国际化;同时,加快物联网在制造业中的深化应用,不断推进车联网和工业互联网发展,推动机器通信终端的应用。 为了适应未来的发展,我们的传感器需要在复杂性、功能性和安全性方面进行创新和突破。数字化的界面、智能的实时信号处理能力、传感器自带的安全功能和较高的可靠性,以及定制化的产品,全都是未来传感器发展的趋势。传感器厂商需要加强和客户的合作,为客户量身打造适合他们应用的产品,带给客户独一无二的价值。 本文转自d1net(转载)

优秀的个人博客,低调大师

为了提高生产力 微软现在能让你用语音写Word了

微软语音输入软件Dictate 北京时间6月21日早间消息,微软近期发布了一款名为Dictate的新应用。这是面向Word、Outlook和Powerpoint等软件的插件,利用Cortana的语音识别技术帮你进行语音输入。 微软并不是开发听写技术的首家公司。Nuance的语音输入软件Dragon已发布至桌面和移动设备。去年,谷歌也在Docs应用中加入了更多语音输入功能。 Office此前已支持语音转换文本的功能,但Dictate还带来了更多新功能。Dictate支持20多种语言,并且可以通过多种命令对文字进行编辑。只要简单地说“换行”、“删除”和“停止听写”,用户就可以操纵光标,使用语音来修正文字。此外,语音命令也可以方便地管理标点符号。 另一项功能是实时翻译。只需调整其中的某些设置,Dictate就可以在用户口述过程中完成翻译。例如,用户可以说西班牙语,而键入的文字将自动翻译成法语。听写支持的20种语言可以翻译成60多种其他语言。 目前,Dictate已发布至32位和64位版的Office,而系统最低要求是Windows 8.1。用户可以免费下载这款软件,不过考虑到这是个属于微软Garage的项目,因此尚不清楚未来前景如何。 本文转自d1net(转载)

优秀的个人博客,低调大师

🤞 .NET 框架 Furion v4.8.8.33 发布,稳定性大大提高

项目信息 Gitee:https://gitee.com/dotnetchina/Furion Github:https://github.com/MonkSoul/Furion 文档:http://furion.baiqian.ltd/ 本期更新 更新日志:http://furion.baiqian.ltd/docs/upgrade/ 新特性 [新增] 定时任务作业计划 OnChanged 事件处理 4.8.8.29 ⏱️2023.06.25 e4c4cf1 [新增] Swagger 分组信息可在任意配置文件中通过 [openapi:分组名] 进行配置 4.8.8.26 ⏱️2023.06.20 a70eed3 [新增] TP.WrapperRectangle 绘制矩形日志模板 4.8.8.25 ⏱️2023.06.14 60ffd76 [新增] IServiceScope.CreateDefaultHttpContext 拓展方法 4.8.8.24 ⏱️2023.06.07 11a55e1 [新增] 配置模块 IgnoreConfigurationFiles 支持完整的文件通配符 4.8.8.22 ⏱️2023.05.25 #I78ABL [新增] 定时任务支持二级虚拟目录 VisualPath 配置部署 4.8.8.20 ⏱️2023.05.18 #I740IA [新增] 监听日志 LoggingMonitor 支持 Razor Pages 4.8.8.16 ⏱️2023.05.15 #I7332C [新增] 定时任务作业处理程序工厂 IJobFactory 支持 4.8.8.13 ⏱️2023.05.08 ad58dd3 [新增] AES 支持对文件(含超大文件)进行加解密 4.8.8.11 ⏱️2023.05.05 1d2265b [新增] 动态 WebAPI 支持 text/plain 格式的 Body 参数 4.8.8.9 ⏱️2023.05.04 b49fe50 [新增] 插件化 IDynamicApiRuntimeChangeProvider 接口,可在运行时动态添加 WebAPI/Controller 4.8.8.8 ⏱️2023.05.04 322ea59 [新增] 定时任务 Schedular.CompileCSharpClassCode(code) 支持动态编译作业处理程序代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1 [新增] App.CompileCSharpClassCode(code) 动态编译类定义代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1 [新增] 粘土对象支持结构 struct 对象类型 4.8.8.7 ⏱️2023.04.30 a0fa3aa [新增] 定时任务支持配置 IJob 执行异常 FallbackAsync 回退策略 4.8.8.6 ⏱️2023.04.25 7671489 [新增] 定时任务支持在非 IOC/DI 项目类型中使用 4.8.8.5 ⏱️2023.04.24 #I6YJNB [新增] RSA 支持对超长字符(超 245 位)进行分段加解密 4.8.8.2 ⏱️2023.04.19 !788 感谢 @YaChengMu [新增] System.Text.Json 和 Newtonsoft.Json 对粘土对象 Clay 支持 4.8.8.1 ⏱️2023.04.18 #I6WKRZ [新增] 粘土对象可反射转换成特定 IEnumerable<T> 类型:clay.ConvertTo<T>() 4.8.8 ⏱️2023.04.13 5d54a65 [新增] Serve.IdleHost 支持返回 http 和 https 协议 Web 地址(端口) 4.8.8 ⏱️2023.04.13 fdf7885 突破性变化 [移除] 定时任务看板 SyncRate 配置,前后端采用最新的 SSE 推送技术替代 4.8.8.29 ⏱️2023.06.25 e4c4cf1 [调整] 监听日志 WriteFilter 和 ConfigureLogger 的 ActionExecutingContext 和 ActionExecutedContext 类型为 FilterContext 4.8.8.16 ⏱️2023.05.15 #I7332C [调整] IJsonSerializerProvider 序列化接口,添加 Deserialize 反序列化方法 4.8.8.15 ⏱️2023.05.15 !815 感谢 @YaChengMu 问题修复 [修复] 审计日志解析 DateTime 类型参数不是本地时间问题 4.8.8.33 ⏱️2023.06.29 #I7GW32 [修复] 定时任务因上一版本修改 4e2615b 导致 Cron 解析异常问题 4.8.8.32 ⏱️2023.06.28 #I7GQ5I [修复] 定时任务设置额外数据不支持 long/int64 类型参数问题 4.8.8.31 ⏱️2023.06.28 4e2615b [修复] 定时任务休眠毫秒数大于 int.MaxValue 时出现 ArgumentOutOfRangeException 4.8.8.27 ⏱️2023.06.21 #I7F6ZT [修复] Cron 表达式步长解析器错误 4.8.8.25 ⏱️2023.06.14 #I7D9XU [修复] 修复 ExpandoObject.ToDictionary() 转换异常 4.8.8.25 ⏱️2023.06.14 #I7BY0P [修复] 配置友好异常 FriendlyExceptionSettings:DefaultErrorMessage 无效问题 4.8.8.23 ⏱️2023.05.31 #I79LIG [修复] Swagger 进行分组后 Tags 不能进行分组过滤问题 4.8.8.22 ⏱️2023.05.25 #I78A55 [修复] 因 9d8cb82 代码提交导致命名服务解析异常问题 4.8.8.21 ⏱️2023.05.18 #I76JZR [修复] 因 9d8cb82 代码提交导致服务 AOP 异常拦截问题 4.8.8.17 ⏱️2023.05.15 #I73A8E [修复] 动态 WebAPI 自定义路由模板参数和自动拼接参数冲突问题 4.8.8.15 ⏱️2023.05.15 #I72ZZ2 [修复] 远程请求在被请求端返回非 200 状态码但实际请求已处理也抛异常问题 4.8.8.14 ⏱️2023.05.12 b14a51f [修复] App.CompileCSharpClassCode(code) 运行时添加匿名程序集编译异常问题 4.8.8.8 ⏱️2023.05.04 322ea59 [修复] LoggingMonitor 打印泛型类型如果存在多个泛型参数问题 4.8.8.8 ⏱️2023.05.04 8d9cb74 [修复] 脱敏处理如果字典存在重复词导致异常问题 4.8.8.4 ⏱️2023.04.23 #I6Y19K [修复] 远程请求 Body 参数为粘土对象 Clay 类型序列化有误 4.8.8.1 ⏱️2023.04.18 #I6WKRZ [修复] Serve.IdleHost 获取随机端口的本地地址带 $ 符号问题 4.8.8 ⏱️2023.04.13 ed6f292 其他更改 [调整] 规范化文档默认 Title 解析规则,不再自动添加空格 4.8.8.26 ⏱️2023.06.20 24b7a47 [调整] 组件 Component 模式支持 [DependsOn] 支持继承 4.8.8.16 ⏱️2023.05.15 #I733RF [调整] 定时任务 GC 回收逻辑,避免高频添加作业导致 尾延迟 问题 4.8.8.3 ⏱️2023.04.21 #I6XIV8 [调整] 定时任务日志设计,减少不必要的日志输出 4.8.8.3 ⏱️2023.04.21 #I6XI2L 文档 [新增] Jwt 身份验证过程监听文档 [新增] 事件总线 Redis 集成文档 [更新] 粘土对象文档、虚拟文件系统文档、序列化文档、事件总线文档、远程请求文档、数据加密文档、安全授权文档、动态 WebAPI 文档、定时任务文档、JSON 序列化文档、App 静态类文档、规范化文档、配置文档 贡献者 zetaluoxin (@zetaluoxin) !834 SongXinXin (@goodsxx) !832 !833 阿炬 (@quejuwen) !813 KaneLeung (@KaneLeung) !808 蒋状先生 (@JiangZhuangXianSheng) !806 NeoLu (@neolu) !804 蓝色天空 (@lds2013) !796 YaChengMu (@YaChengMu) !788 !815

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册