代码之家  ›  专栏  ›  技术社区  ›  Chanh

发布应用程序时会产生不同的结果

  •  0
  • Chanh  · 技术社区  · 5 年前

    我正在用电传打字制作一个键盘应用程序,出现了一个无法解释的愚蠢错误,有人能解释一下这个问题来帮助我吗?它只在发布(生成apk)应用程序时发生,在运行调试时,它正常运行,没有任何差异。

    int value = (originalTypedChar == 'w' ? 'ư' : 'Ư');
    handleCharacterWhileInBatchEdit(value);
    

    功能检查日志

    private void handleCharacterWhileInBatchEdit(final int primaryCode) {
        Log.e("TAG", "primaryCode: " + primaryCode);
    }
    

    结果日志:primaryCode:119(如果originalTypedChar=='w'为真)或87(如果originalTypedChar=='w'为假),但不是432(如果为真)或431(如果为假)

    当我插入这样的行日志时,结果是正确的:

    int value = (originalTypedChar == 'w' ? 'ư' : 'Ư');
    Log.e("TAG", "value : " + value);
    handleCharacterWhileInBatchEdit(value);
    

    结果日志:432(如果为真)或431(如果为假)

    ASCII码“w”是119, ASCII码“W”是97, ASCII码“Æ°”为432, ASCII码“”是431。

    0 回复  |  直到 5 年前