loginmanager

内存泄漏优化

柔情痞子 提交于 2021-02-14 23:15:13
目录介绍: 01.什么是内存泄漏 02.内存泄漏造成什么影响 03.内存泄漏检测的工具有哪些 04.关于Leakcanary使用介绍 05.错误使用单例造成的内存泄漏 06.Handler使用不当造成内存泄漏 07.Thread未关闭造成内容泄漏 08.错误使用静态变量导致引用后无法销毁 09.AsyncTask造成的内存泄漏 10.非静态内部类创建静态实例造成内存泄漏 11.不需要用的监听未移除会发生内存泄露 12.资源未关闭造成的内存泄漏 13.广播注册之后没有被销毁 14.错误使用context上下文引起内存泄漏 15.静态集合使用不当导致的内存泄漏 16.动画资源未释放导致内存泄漏 17.系统bug之InputMethodManager导致内存泄漏 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇[近100万字,陆续搬到网上],转载请注明出处,谢谢! 链接地址: https://github.com/yangchong211/YCBlogs 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微

项目转Swift指南

爷,独闯天下 提交于 2020-08-11 15:42:51
运行环境:Xcode 11.1 Swift5.0 最近参与的一个项目需要从Objective-C(以下简称OC)转到Swift,期间遇到了一些坑,于是有了这篇总结性的文档。如果你也有将OC项目Swift化的需求,可以作为参考。 OC转Swift有一个大前提就是你要对Swift有一定的了解,熟悉Swift语法,最好是完整看过一遍官方的 Language Guide 。 转换的过程分自动化和手动转译,鉴于自动化工具的识别率不能让人满意,大部分情况都是需要手动转换的。 自动化工具 有一个比较好的自动化工具 Swiftify ,可以将OC文件甚至OC工程整个转成Swift,号称准确率能达到90%。我试用了一些免费版中的功能,但感觉效果并不理想,因为没有使用过付费版,所以也不好评价它就是不好。 Swiftify还有一个Xcode的插件 Swiftify for Xcode ,可以实现对选中代码和单文件的转化。这个插件还挺不错,对纯系统代码转化还算精确,但部分代码还存在一些识别问题,需要手动再修改。 手动Swift化 桥接文件 如果你是在项目中首次使用Swift代码,在添加Swift文件时,Xcode会提示你添加一个 .h 的桥接文件。如果不小心点了不添加还可以手动导入,就是自己手动生成一个 .h 文件,然后在 Build Settings > Swift Compiler - General

JEESZ分布式框架--单点登录集成方案

老子叫甜甜 提交于 2020-08-10 23:51:57
一般注销是跳到原项目的登录页面,所以我们需要对CAS做如下配置: 1. 修改服务端cas-servlet.xml配置(apache-tomcat-7.0.40\cas\ROOT\WEB-INF),找到 <bean id="logoutController" class="org.jasig.cas.web.LogoutController" /> 增加属性 p:followServiceRedirects="true" 2.修改客户端,sso1,sso2 index.jsp文件将原来的单点登出的URL修改成: Sso1: http://jeesz.cn:8080/logout?service=http://www.sso1.com:8080 Sso2: http://jeesz.cn:8080/logout?service=http://www.sso2.com:8080 重启Tomcat,测试正常。 第六节:多项目集成单点登录配置 第一步:单点登录系统与其他项目集成 在WEB 项目中的WEB-INF目录下的web.xml文件,添加以下配置. <!--SSO客户端配置 用于单点退出,该过滤器用于实现单点登出功能,可选配置 --> <listener> <listener-class>org.jasig.cas.client.session

OC项目转Swift指南

情到浓时终转凉″ 提交于 2020-07-27 13:53:49
运行环境:Xcode 11.1 Swift5.0 最近参与的一个项目需要从Objective-C(以下简称OC)转到Swift,期间遇到了一些坑,于是有了这篇总结性的文档。 如果你也有将OC项目Swift化的需求,可以作为参考。 OC转Swift有一个大前提就是你要对Swift有一定的了解,熟悉Swift语法,最好是完整看过一遍官方的 Language Guide 。 转换的过程分自动化和手动转译,鉴于自动化工具的识别率不能让人满意,大部分情况都是需要手动转换的。 自动化工具 有一个比较好的自动化工具 Swiftify ,可以将OC文件甚至OC工程整个转成Swift,号称准确率能达到90%。我试用了一些免费版中的功能,但感觉效果并不理想,因为没有使用过付费版,所以也不好评价它就是不好。 Swiftify还有一个Xcode的插件 Swiftify for Xcode ,可以实现对选中代码和单文件的转化。这个插件还挺不错,对纯系统代码转化还算精确,但部分代码还存在一些识别问题,需要手动再修改。 手动Swift化 桥接文件 如果你是在项目中首次使用Swift代码,在添加Swift文件时,Xcode会提示你添加一个 .h 的桥接文件。如果不小心点了不添加还可以手动导入,就是自己手动生成一个 .h 文件,然后在 Build Settings > Swift Compiler -

flask-login原理详解

偶尔善良 提交于 2020-04-27 22:42:01
最近发现项目中使用的flask-login中有些bug,直接使用官网的方式确实可以用,但仅仅是可以用,对于原理或解决问题没有什么帮助,最近通过查看网上资料、分析源码、通过demo、从零开始总结了flask-login的使用方式及内部实现原理。 先说使用,安装组件就不说了,太简单。 安装好了之后就是把组件注册到flask中,这个简单说下,具体flask如何注册这些扩展的原理后续再补上,引用官网的说法: 登录管理(login manager)包含了让你的应用和 Flask-Login 协同工作的代码,比如怎样从一个 ID 加载用户,当用户需要登录的时候跳转到哪里等等。 具体注册代码如下: 。 # encoding:utf-8 from flask.ext.login import LoginManager app = Flask( __name__ ) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = "login" #配置如果需要登录调整的路由 注册好了之后,就可以使用了,以下是路由函数的写法,具体login_required、login_user的实现原理后面会再说 @app.route( ' / ' ) @login_required #

flask-login 功能扩展 flask-login-multi

懵懂的女人 提交于 2020-04-27 18:26:19
手头开发一个登录项目,分user 和admin 表,需要分别登录前后台,flask 的扩展flask-login 已有的功能不能满足需要 所以打算研究一下源代码,扩展一下功能。 项目 user 和admin 两个模块,分别用于用户中心和管理后台区分。 所以有了思路,flask-login里面的session用endpoint的名字分别记录 user 和admin 的登录状态 完整模块 https://github.com/siaoynli/flask_login_multi pipy地址 https://pypi.org/project/Flask-Login-Multi/ 安装好 flask-login 和 flask-login-multi pip install flask_login pip install flask_login_multi 1.创建app,主要代码 from flask import Flask from flask_login_multi.login_manager import LoginManager app=Flask(__name__) login_manager = LoginManager(app) #用于各个蓝图跳转登录页的 endpoint login_manager.blueprint_login_views = { 'user':

flask 之(四) --- 扩展|缓存|会话

北慕城南 提交于 2020-04-27 18:21:36
扩展 蓝图内置扩展   (实现的是路由的拆分) 1 ''' ----------- app.py ------------- ''' 2 from flask import Flask 3 from users_views import blue1 4 from orders_views import blue2 5 6 app = Flask( __name__ ) 7 8 # 路由注册 9 app.register_blueprint(blueprint= blue1) 10 app.register_blueprint(blueprint= blue2) 11 12 13 if __name__ == ' __main__ ' : 14 app.run() 1 ''' ------------ users_views.py --------------- ''' 2 from flask import Blueprint 3 # blue1 的设置(名字,导入的名字, 前缀名称 ) 4 blue1 = Blueprint( " blue1 " , __name__ , url_prefix= " /users " ) 5 6 # 用blue1设置路由,用前缀名字区分相同名字的路由:http://127.0.0.1:5000/users/ 7 @blue1.route( " /

flask 对于用户登录保持状态 flask_login

半城伤御伤魂 提交于 2020-04-27 18:03:05
先加载flask_login ext.py 在app下的__init__.py 进行引用把,我就不写了 login_manager = LoginManager() # 如果没有登录则重定向到该蓝图的视图函数 login_manager.login_view = " user.login " # 对登录用户进行监视,最高等级 login_manager.session_protection = " strong " def inin_ext(app): login_manager.init_app(app) 然后在数据库用户User模型中除了继承自sqlalhemy之外还继承 flask_login的 UserMixin modles.py ''' 模型类需要继承flask_login UserMixin ,不然需要重写四个方法 is_active get_id is_authenticated 登录用户 is_anonymous 未登录用户 只需需要理会这两个方法就行 ''' class User(db.Model, UserMixin ): id = db.Column(db.Integer,primary_key=True,autoincrement= True) nicheng = db.Column(db.String(20 )) email = db.Column(db