Android版CCLabelTTF在setstring時出現黑塊

首先有個前提知識,cocos2dx里,只能在ui線程(通常也就是主線程)中進行渲染工作(貌似現在有一些引擎是支持多線程渲染的,沒有深入研究),否則大約會因為多個線程同時給GPU發指令而出現問題,比如setstring出現黑塊。

?

今天這個bug出現的原因是在C++代碼里通過jni調用java來顯示鍵盤,在輸入完成后,再在java里面通過jni回調C++的代碼來setstring。貌似C++代碼里面通過jni調java這件事情新起了個線程,導致了java回調C++的setstring操作就不在主線程里面了,從而出現問題。只在Android有問題,pc正常。

?

針對這個具體問題,解決方法是在java回調里面只設置標志,主線程查詢標志再進行具體的setstring就好了。但是擴展問題包括jni是如何起新線程的,這樣所有jni相關的代碼都不能做ui操作,可能需要統一機制處理;以及自帶的CCEditBox以及CCTextFieldTTF是好像直接setstring的,他們是如何做到的呢?

轉載于:https://www.cnblogs.com/unionfind/p/3370465.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273984.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273984.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273984.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java例子:九九乘法表

來吧直接上代碼&#xff1a;public class Test{public static void main(String[] args) {for(int i 1; i<9;i){for (int j 1; j < i ;j ) {System.out.print(j"x"i""j*i" ");}System.out.print("\n");}} }運行之后&#xff1…

Apache的RewriteRule規則詳細介紹

R[code](force redirect) 強制外部重定向 (rkyW z強制在替代字符串加上http://thishost[:thisport]/前綴重定向到外部的URL.如果code不指定&#xff0c;將用缺省的302 HTTP狀態碼。 gN24M 3{CF(force URL to be forbidden)禁用URL,返回403HTTP狀態碼。 m> 4ahue$G(force URL…

算法:查找

查找算法&#xff08;比較&#xff09;基本思想順序查找順序查找也稱為線形查找&#xff0c;屬于無序查找算法。從數據結構線形表的一端開始&#xff0c;順序掃描&#xff0c;依次將掃描到的結點關鍵字與給定值k相比較&#xff0c;若相等則表示查找成功&#xff1b;若掃描結束仍…

query上傳插件uploadify參數詳細分析

query上傳插件uploadify參數詳細分析 Uploadify Version 3.2 官網&#xff1a;http://www.uploadify.com/ 注&#xff1a;文件包里有兩個js分別是&#xff1a;jquery.uploadify.js 和 jquery.uploadify.min.js&#xff0c;兩者其實一樣&#xff0c;只需載入其中一個js即可。很明…

python 基礎 list和 tuple dict和set

list Python內置的一種數據類型是列表&#xff1a;list。list是一種有序的集合&#xff0c;可以隨時添加和刪除其中的元素。classmates [Michael, Bob, Tracy] 要刪除list末尾的元素&#xff0c;用pop()方法&#xff1a; 要刪除指定位置的元素&#xff0c;用pop(i)方法&#x…

IIS的安裝

xp上好像只能裝IIS5&#xff0c;IIS6根本就裝不了轉載于:https://www.cnblogs.com/hyk110988/p/3372592.html

py四種時間格式

time有四種類型&#xff08;time, datetime, string, timestamp&#xff09;1. time stringstring是最簡單的表示time的方式如如下代碼生成的即為string123>>> import time>>> time.ctime()Wed Nov 30 13:53:31 2016或者更簡單的生成一個字符串1time_string …

type_traits應用

工作遇到這樣的例子&#xff0c;對不同數據進行計算處理&#xff0c;得到一組結果集&#xff0c;包括計數、比例等。各個計算處理過程不同&#xff0c;結果集數據結構相同&#xff0c;但并非所有計算過程均有計數、比例的結果&#xff0c;有些可能只有計數&#xff0c;有些只有…

csv.writer寫入文件有多余的空行

在用csv.writer寫入文件的時候發現中間有多余的空行。 最早打開方式只是‘w’&#xff0c;會出現多余的空行&#xff0c;網上建議使用binary形式‘wb’打開可以解決問題&#xff1a; with open(egg2.csv, wb) as cf:12 不過只能在python2下運行&#xff0c;python3報錯&#xf…

java筆記之連接數據庫

1、一定不要忘了導入包 java工程&#xff1a;lib文件夾下mysql-connector-java.jar--->Build Path Web工程:當web下的servlet需要連接數據庫時&#xff0c;除了上一步導入包還要在WEB-INF/lib導入mysql-connector-java.jar 2、關于亂碼&#xff0c;查詢 在終端查詢數據時&am…

那些不能錯過的XCode插件

XCode顏色顯示插件ColorSense代碼里的那些冷冰冰的顏色數值&#xff0c;到底時什么顏色&#xff1f;如果你經常遇到這個問題&#xff0c;每每不得不運行下模擬器去看看&#xff0c;那么這個插件絕對不容錯過。更彪悍的是你甚至可以點擊顯示的顏色面板&#xff0c;直接通過系統的…

python爬蟲第一課 開發環境配置

一、Python3的安裝 二、請求庫的安裝 1、requests的安裝 直接pip安裝&#xff1a;pip3 install requests 2、Selenium的安裝 selenium是一個自動測試化工具&#xff0c;利用它我們可以驅動瀏覽器執行特定的動作&#xff0c;如點擊、下拉等操作。 直接pip安裝&#xff1a;pip in…

用JSLint精煉提升JavaScript代碼

由于移動應用的盛行和HTML5的廣泛運用&#xff0c;JavaScript正越來越流行。JavaScript受歡迎的部分原因是因為它的靈活便捷&#xff0c;你可以快速上手&#xff0c;它不需要重量級的開發環境&#xff0c;也不需要第三方應用支持&#xff0c;只要你打開一個文本編輯器&#xff…

pymssql出現的錯誤

安裝pymssql出現的錯誤&#xff1a;如下&#xff1a;---------------------------------------- Failed building wheel for pymssqlRunning setup.py clean for pymssql Failed to build pymssql Installing collected packages: pymssqlRunning setup.py install for pymssq…

javascript設計思維

//一.把參數當作私有變量使用 (function (a, b) {//把參數當作私有變量使用&#xff0c;省略了var&#xff0c;也節省了行數console.log(b) //undefined&#xff0c;所有未賦值的變量均為undefined })(window);//二.把參數作為參數使用 var obj_init function (b, d, f) {//1…

linux第一章簡答

linux第一章簡答題&#xff1a; 1、你在你的主機上面安裝了一張網卡&#xff0c;但是開機之后&#xff0c;系統卻無法使用&#xff0c;你確定網卡是好的&#xff0c;那么可能的問題出在哪里&#xff1f;該如何解決&#xff1f; 答&#xff1a;因為所有的硬件都沒有問題&#xf…

(原創)一個和c#中LazyT類似的c++ LazyT類的實現

在.net 4.0中增加一個延遲加載類Lazy<T>&#xff0c;它的作用是實現按需延遲加載&#xff0c;也許很多人用過。一個典型的應用場景是這樣的&#xff1a;當初始化某個對象時&#xff0c;該對象引用了一個大對象&#xff0c;需要創建&#xff0c;這個對象的創建時需要較長的…

網頁選項卡的應用

&#xff08;1&#xff09;功能描述&#xff1a; 在頁面中&#xff0c;設置三個不同名稱的選項卡&#xff0c;當單機某個選項卡時&#xff0c;下面相對應的區域顯示其內容信息&#xff0c;同時選項卡的背景色與內容信息的背景色渾然一體&#xff0c;并且字體加粗&#xff0c;表…

python 爬蟲-beautifulsoup4

利用它可以不用編寫正則表達式即可方便的實現網頁信息的提取。 pip3 install beautifulsoup4 用法講解&#xff1a;常用解析庫&#xff1a; lxml HTML解析器 lxml XML解析器 from bs4 import BeautifulSoup soup BeautifulSoup(html,lxml) print(soup.prettify()) #格式化代…

魔獸控制命令ID

來源:http://tieba.baidu.com/p/1084211586本次技能ID大全共收錄ID368條不包括重復的ID&#xff0c;物品類技能的ID使用必須將物品技能單獨抽離出來并設置“物品技能false”&#xff0c;擁有命令字符串的物品請參考擁有相同字符串的4族中立技能。P.S所有ID都是按照從小到大的順…