handler

Handler.postDelayed running for extra time

喜欢而已 提交于 2019-12-04 22:23:21
I am writing an handler to run for an fix amount(30 Sec) time. Basic on that it update counter to draw a view component. counterRunnable = new Runnable() { int currV = 0; public void run(){ if(count >= 360) { counterHandler.removeCallbacks(this); onTimerComplete(); } else { count++; counterHandler.postDelayed(this, 83); // (30/360) = ~83 } } }; As I am running back it for delay of 83ms for 360 time (83*360 = 29880ms ~30 Sec) but it is running for ~39 sec . Any suggestion if I am doing anything wrong. Analysis: I checked same with Timer (scheduled at fix rate) and it's performing better as

python logging模块

陌路散爱 提交于 2019-12-04 21:47:55
python logging模块 原文:http://www.cnblogs.com/dahu-daqing/p/7040764.html 1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息; print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出; 2 logging模块使用 2.1 基本使用 配置logging基本的设置,然后在控制台输出日志, import logging logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s') logger = logging.getLogger(__name__) logger.info("Start print log") logger.debug("Do something") logger.warning("Something maybe fail.") logger

SpringMVC --- 拦截器 HandlerInterceptor

心不动则不痛 提交于 2019-12-04 21:27:31
1. springmvc.xml 设置拦截器 1 <mvc:interceptors> 2 <mvc:interceptor> 3 <mvc:mapping path="/*"/> 4 <bean class="com.xing.intercep.IntercepterDemo"></bean> 5 </mvc:interceptor> 6 </mvc:interceptors> 2. Class AccountMapper implements HandlerInterceptor @Override pre post after 1 package com.xing.intercep; 2 3 import org.springframework.web.servlet.HandlerInterceptor; 4 import org.springframework.web.servlet.ModelAndView; 5 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 9 public class IntercepterDemo implements HandlerInterceptor { 10 @Override 11

ASP.NET Core[源码分析篇] - Authentication认证

╄→尐↘猪︶ㄣ 提交于 2019-12-04 21:23:51
原文: ASP.NET Core[源码分析篇] - Authentication认证   追本溯源,从使用开始     首先看一下我们通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务,这里通过JWT的认证方式讲解 public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(authOpt => { authOpt.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOpt.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(o => { o.TokenValidationParameters = new TokenValidationParameters { //配置自己所要验证的参数 }; }); }   我们来看一下源码AddAuthentication主要做了什么  public static class AuthenticationServiceCollectionExtensions { public static

带你手把手重读 Handler 源码,聊聊那些你所不知道一二三

谁都会走 提交于 2019-12-04 21:04:54
大家应该都知道,Android 的消息机制是基于 Handler 实现的。还记得一年前的自己就看了几篇博客,知道了 Handler、Looper、MessageQueue 就自以为了解了 Handler 的原理。但其实看源码的过程中慢慢就会发现,Handler 的内容可不止这点, 像同步屏障、 Handler 的 native 层的阻塞唤醒机制等等这些知识以前就没有理解清楚。因此写下这篇文章,从头开始重塑对 Handler 的印象。 觉得文章太长的可以找我拿了完整的PDF自行研究 参考: (更多完整项目下载。未完待续。源码。图文知识后续上传github。) 可以点击 关于我 联系我获取完整PDF ( VX:mm14525201314 ) Handler 采用的是一种生产者-消费者模型,Handler 就是生产者,通过它可以生产需要执行的任务。而 Looper 则是消费者,不断从 MessageQueue 中取出 Message 对这些消息进行消费,下面我们看一下其具体的实现。 发送消息 post & sendMessage 首先我们都知道,Handler 对外主要有两种方式来实现在其所在 Looper 所在线程执行指定 Runnable ——post 及 sendMessage ,它们都有对应的 delay 方法 。而不论是 post 还是 sendMessage ,都会调用到

9102年底将至,BAT高级开发21道汇总:Bitmap+Handler+性能优化篇

一笑奈何 提交于 2019-12-04 21:04:48
前言 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责 。 今天给大家分享下我整理的BAT架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!在这由于文字很多,我总结了Android面试所涉及到的常问范围及架构面试专题和答案解析和架构视频资料分享给大家 更多完整项目下载。未完待续。源码。图文知识后续上传github。) 可以点击 关于我 联系我获取完整PDF 或者互相交流 ( VX:mm14525201314 ) 今天先来分析一下 Bitmap+Handler+性能优化 一.Bitmap 1、Bitmap 使用需要注意哪些问题 ? 参考回答: 1)要选择合适的图片规格(bitmap 类型): 通常我们优化Bitmap 时,当需要做性能优化或者防止 OOM ,我们通常会使用 RGB_565,因为 ALPHA_8 只有透明度,显示一般图片没有意义, Bitmap.Config.ARGB_4444 显示图片不清楚, Bitmap.Config.ARGB_8888 占用内存最多。: ALPHA_8 每个像素占用 1byte 内存 ARGB_4444 每个像素占用 2byte 内存 ARGB_8888 每个像素占用 4byte 内存(默认) RGB_565

Java 解决跨域问题

拟墨画扇 提交于 2019-12-04 20:03:47
解决跨域问题的方式有很多,这里主要是添加注解的方式和采用添加拦截器的方法: 方法一、 spring boot 中只用在 Controller 类上添加一个“ @CrossOrigin “注解就可以实现对当前 controller 的跨域 访问了,当然这个标签也可以加到 方法 上。 @CrossOrigin public class CommonController { }  其他controller类继承以上这个类就可以解决跨域问题。 注意:“@CrossOrigin“注解要求 jdk1.8 以上版本 方法二、采用添加拦截器的方法 @Configuration public class WebConfig extends WebMvcConfigurerAdapter { @Autowired private EnvConfig envConfig; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new HandlerInterceptor() { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response,

Passing in parameters to a http.HandlerFunc

对着背影说爱祢 提交于 2019-12-04 19:45:23
问题 I'm using Go's built in http server and pat to respond to some URLs: mux.Get("/products", http.HandlerFunc(index)) func index(w http.ResponseWriter, r *http.Request) { // Do something. } I need to pass in an extra parameter to this handler function - an interface. func (api Api) Attach(resourceManager interface{}, route string) { // Apply typical REST actions to Mux. // ie: Product - to /products mux.Get(route, http.HandlerFunc(index(resourceManager))) // ie: Product ID: 1 - to /products/1

rabbitmq

余生长醉 提交于 2019-12-04 19:45:05
引入 implementation 'com.rabbitmq:amqp-client:5.7.0' 指定jdk版本,在build.grald app目录下 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 网络 <uses-permission android:name="android.permission.INTERNET"/> import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.widget.TextView; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import

zxing打开扫码页面,黑屏问题

给你一囗甜甜゛ 提交于 2019-12-04 19:17:46
项目中遇到的问题:打开扫码页面时,黑屏。第一次打开扫码页面,可以正常显示。之后再打开此界面,黑屏,只有中间的扫面框在刷新。 解决过程: 1.一开始以为是SurfaceView使用不当,没有触发surfaceCreated()方法,没有启动相机。经过调试,各方法均触发成功,排除; 2.相机没初始化。这块不熟悉,各种查资料。发现camera都不为null,也调用了相应方法,但是就是第二次打开页面时,不能成功启动。不明白。 3.由第二点,根据资料,相机启动了,还需要主动去关闭。这应该是正解。顺着这个思路,查看在onPause()中的 if ( handler != null ) { handler .quitSynchronously(); handler = null ; } CameraManager.get().closeDriver(); ok,最终查到,需要主动调用 camera .stopPreview () ; 结束取景预览。配合释放资源的方法,置空camera。总之就是打开了相机,还得关闭它。 目前的解决办法是修改成如下代码: public void closeDriver () { if (camera != null ) { FlashlightManager.disableFlashlight(); if (previewing) { camera