小编Jac*_*ace的帖子

处理程序postDelayed和Thread.sleep()

我的代码中有一个thread.sleep和一个处理程序postDelayed:

handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        Log.e(TAG, "I ran");
        mIsDisconnect = false;
    }
}, DISCONNECT_DELAY);
Run Code Online (Sandbox Code Playgroud)

处理程序代码之后和用户按下按钮之后我有:

while (mIsDisconnect) {
    try {
        Thread.sleep(DELAY);
    } catch (InterruptedException e) {
        Log.e(TAG, "problem sleeping");
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户等待足够长时间,我可以在我的日志中获得"我跑".但是如果用户在延迟结束之前按下按钮,则似乎postDelayed永远不会有机会执行.我的问题是,thread.sleep()是否与处理程序postDelayed混乱?

编辑:此代码的目的是我想在DISCONNECT_DELAY秒已经过去之后才继续该程序.因此,如果用户提前点击,我必须等待经过的时间才能完成.

android handler thread-sleep

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

iOS将字符串编码为unicode

我有一个字符串,都有英文字母和日文字符.我需要在将数据传输到服务器之前将日语字符转换为Unicode.我发现很多主题转换为UTF-8,但在转换为Unicode时我没有找到任何东西.

旁注:我还注意到,如果我将字符串放在数组中并使用NSLog打印数组,则日文文本将以Unicode格式打印.

NSString *data = @"a?";
NSArray *array = [NSArray arrayWithObjects: data, other data..., nil];
NSLog(@"%@", array);
Run Code Online (Sandbox Code Playgroud)

这将打印出:"a\U3055"表示我在数组中的字符串数据.

unicode ios

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

标签 统计

android ×1

handler ×1

ios ×1

thread-sleep ×1

unicode ×1