标签: handler

android.os.Handler和java.util.logging.Handler之间的区别?

问题几乎总结了它.我错误地导入java.util.logging并没有获得所需的功能.现在我解决了我的问题,但我想知道为什么android创建了两个Handler.我们错误地导入了错误的错误.与Fragment and Support Fragment相同.

android handler

4
推荐指数
1
解决办法
2535
查看次数

线程/可运行、处理程序、runonuithread、asynctask 之间的区别

我开始学习 android 编程,正在开发一个小游戏。我听说做后台操作或更新或下载或任何后台和耗时的事情不应该用 ui 线程来完成,而是使用线程/可运行或异步任务。但我不能在线程中做一些事情,比如到数据库的后台连接,因为这种连接与剩余的处理程序一起工作,runonuithread,asynctask.am 非常困惑在哪里使用哪个。我有一些问题 1.handler,runonuithread 都在 ui 线程上运行,thread/runnable 是一个不同的线程,在异步任务中,doinbackground 方法在不同的线程上运行,而其他方法如 onprogressupdate、onpreexecute 和 onpostexecute 在 ui 线程上运行。对?如果是这样的话,我编写了一个程序来与线程/可运行数据库进行连接,它没有工作,但是当我在 doinbackground 中编写它时,它工作了。我的困惑是,由于这两种方法都在不同的线程上运行,为什么会发生这种情况。2.顺便说一句,这4个主要区别是什么,它们适用和不适用的地方。并且还想知道只有 ui 线程才能完成的任务是什么。在广告中感谢:)

multithreading android handler android-asynctask

4
推荐指数
1
解决办法
5553
查看次数

将响应标头添加到每个处理程序,而不重复相同的行

我正在写一个小网站,每个页面,我都在其标题中添加一个服务器名称:

func httpSignUp(rw http.ResponseWriter, req *http.Request) {
    rw.Header().Set("Server", SERVER_NAME)
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以设置http.ResponseWriter的默认服务器名称,所以我不必一遍又一遍地使用相同的行?

handler go

4
推荐指数
1
解决办法
706
查看次数

Winpcap - pcap_next_ex vs pcap_loop

我有一个问题,想象一下,我有一个线程可以捕获数据包并自行处理它们.

使用pcap_next_ex:我会使用一个循环,我会在每次交互中处理数据包,假设我打电话Sleep(200)来模拟这些东西.随着pcap_next_ex我会丢失数据包,我会到达.

使用pcap_loop:我会对每个数据包使用一个数据包处理程序的回调,它会像一个事件一样工作.在数据包处理程序中,我会处理数据包,并假设我调用Sleep(200)模拟这些东西.我会丢包吗?

c c++ winpcap handler pcap

4
推荐指数
1
解决办法
1092
查看次数

如何使用 netty 在单独的线程池中执行业务逻辑处理程序

我有一个需要执行一些业务逻辑的处理程序,我希望它在单独的线程池中执行,以免阻塞 io 事件循环。我已将 DefaultEventExecutorGroup 添加到管道中,如http://netty.io/4.0/api/io/netty/channel/ChannelPipeline.html javadoc 和http://netty.io/wiki/new-and-noteworthy-in -4.0.html#no-more-executionhandler---它的核心维基:

ch.pipeline().addLast(new DefaultEventExecutorGroup(10), new ServerHandler());
Run Code Online (Sandbox Code Playgroud)

仅出于测试目的,我的 ServerHandler 只是让当前线程休眠 5 秒:

protected void channelRead0(ChannelHandlerContext ctx, Command cmd) throws Exception {
    System.out.println("Starting.");

    try {
        Thread.currentThread().sleep(5000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.out.println("Finished.");        
}
Run Code Online (Sandbox Code Playgroud)

但显然业务逻辑仍然是同步执行的:

Starting.
Finished.
Starting.
Finished.
Starting.
Finished.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

java multithreading handler netty

4
推荐指数
1
解决办法
2183
查看次数

这段代码可以避免 Android 处理程序内存泄漏吗?

handler1 是泄漏。

我想将handler1代码转换为handler2代码。这可以吗?

这两个代码有什么区别?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // leaks!
        Handler handler1 = new Handler()
        {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                Log.e("LOG", "Hello~1");
            }
        };

        Handler handler2 = new Handler(new Handler.Callback() {
            @Override
            public boolean handleMessage(Message msg) {
                Log.e("LOG", "Hello~2");
                return false;
            }
        });

        handler1.postDelayed(new Runnable() {
            @Override
            public void run() { }
        }, 60000);
        handler2.postDelayed(new Runnable() {
            @Override
            public void run() { } …
Run Code Online (Sandbox Code Playgroud)

android memory-leaks callback handler

4
推荐指数
1
解决办法
2338
查看次数

页面加载时jquery启动函数

我希望在加载页面时启动此效果.现在,当您单击图层时,它就开始了.

$(document).ready(function() {
    $("div").click(function () {
        $(this).effect("pulsate", { times:3 }, 2000);
    });
});
Run Code Online (Sandbox Code Playgroud)

我也用过.load(function),但这没有帮助.

jquery load handler

3
推荐指数
1
解决办法
1万
查看次数

切换用户时未调用认证处理程序

我在我的应用程序中有一个基本的表单登录身份验证,我使用AuthenticationHandlerInterface设置了一个处理程序,我在onAuthenticationSuccess()方法中设置会话变量.

问题是,当我切换到另一个用户(使用ROLE_ALLOWED_TO_SWITCH)时,我的处理程序不再被调用,而我之前设置的会话变量在切换之前仍然是用户的变量.

示例:

  • 使用用户X进行日志记录
  • 将会话var myVar设置为X-> someAttribute(在身份验证处理程序内)
  • 切换到用户Y.
  • 处理程序未调用:myVar保持相同的值

(我知道myVar = X-> someAttribute不是一个很好的例子,因为我已经可以从安全令牌对象访问它,但它是为了简化问题)

谢谢

编辑:security.yml的摘录

firewalls:
    main:
        pattern:    ^/
        anonymous: ~
        switch_user: { role: ROLE_ADMIN, parameter: _switch }
        form_login:
            provider: sso
            success_handler: authentication_handler
            login_path: /login
            check_path: /login_check
        logout:
            path:   /logout
            target: /home
Run Code Online (Sandbox Code Playgroud)

authentication handler switch-user symfony

3
推荐指数
1
解决办法
2123
查看次数

检查处理程序!= null vs检查C#中是否有事件!= null

我已经看到了各种编码样式来在C#中触发事件.第一种风格包括以下内容:

-an事件处理程序

    public delegate void NumberReachedEventHandler(object sender, 
    NumberReachedEventArgs e);
Run Code Online (Sandbox Code Playgroud)

-一个事件

    public event NumberReachedEventHandler NumberReached;
Run Code Online (Sandbox Code Playgroud)

- 以及触发事件的方法

    protected virtual void OnNumberReached(NumberReachedEventArgs e)
    {
        if(NumberReached != null)
        {
            NumberReached(this, e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

然而,第二种风格有一种不同的方法来触发事件:

    protected virtual void OnNumberReached(NumberReachedEventArgs e)
    {
        NumberReachedEventHandler handler = NumberReached;
        if(handler != null)
        {
            handler(this, e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

对我来说,似乎一个样式检查"event"是否为null,第二个样式检查委托是否为null.但是,我的理解是一个事件只是一个委托的实例,所以我想知道编写代码的方式是否有任何优势.如果是,请解释.提前致谢.

c# null events delegates handler

3
推荐指数
1
解决办法
1492
查看次数

Android:具有处理程序和runnable的ListView中的多个计时器.2个问题

我正在创建一个包含带有2列的ListView的应用程序.在第一列上应显示倒计时,在第二列上显示一个附加文本,用于说明倒计时的内容.下面你看到我的代码有效......或多或少.我有一个包含多行的列表视图,计时器正在滴答作响.一个问题是:我的runnable中的set.Text()似乎覆盖了所有行.例如,对于第1行可运行也将文本设置为第2行和第3行,对第2行可运行也将文本设置为1和3,依此类推.这会导致第一列闪烁(具有正确的值和其他行的值).如何为列表视图中的特定行设置文本?

下一个问题:即使我从处理程序中删除回调,runnable也会继续运行.但是当活动处于后台或关闭时,不需要计时器滴答,我不想浪费系统资源.

我的活动:

public class TimerActivity extends ListActivity {

MyTimerAdapter myTimerAdapter = null;
ArrayList<Long> timerList = new ArrayList<Long>();
ArrayList<String> textList = new ArrayList<String>();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listactivity);

    myTimerAdapter = new MyTimerAdapter(this, R.layout.row, R.id.tv_timer, R.id.tv_text);
    setListAdapter(myTimerAdapter);
}

@Override
protected void onResume() {
    super.onResume();
    refreshView();
}

@Override
protected void onPause() {
    myTimerAdapter.clear();
    myTimerAdapter.notifyDataSetChanged();
    super.onPause();
}

private void refreshView() {

    myTimerAdapter.clear();
    timerList.clear();
    textList.clear();

    // some code to read database and fill 
    // array timerList with a long value (used …
Run Code Online (Sandbox Code Playgroud)

android listview timer handler runnable

3
推荐指数
1
解决办法
5532
查看次数