[問題] 關於as吃資源程度

看板Flash作者 (藍玥)時間17年前 (2008/11/08 00:05), 編輯推噓2(2019)
留言21則, 3人參與, 最新討論串1/1
最近做了一個flash圖像聊天室 發現當人數多時 有時會偶然性的發生錯誤 會有"影片中有一個Flash Player會讓執行速度變慢..." 的警語出現 通常這是在我單機測試時 寫出無限迴圈才會出現的糟糕物= = 不知道是發生了什麼嚴重問題所以變這樣..(嗚..我是嫩咖) 但是一般測試只要人數在一般狀況 其實出現這樣錯誤訊息的次數現階段還不多 聊天室可以執行很久都以正常狀況存在著.. 所以想問一下下列指令吃記憶體程度 onMouseOver、onMouseOut、onPress 這幾個指令是否會很吃資源呢? 他們有反應 當速度變慢時 打字會變很慢 我在想 這問題可能是我設了按鍵監聽?(為了讓他們按enter可以自動發話) 想問一下 設定按鍵監聽會是一件很吃資源的事嗎? 還有...我在有些函數裡面 有建立變數 不知道是否當這函數結束後 由函數產生的變數會自己消失 還是說會一直存在著占記憶體?所以時間久了會自動變糟糕...? 想問問有做過flash聊天室的人 有什麼關於lag要注意的事項嗎? 在做之前其實已經規劃了很多了 但是完成後還是有許多lag問題 可能是因為我們背景與人偶娃娃用了許多動畫 有關於上述的錯誤訊息 代表著怎樣的狀況呢? 是否慢慢的占用記憶體也會產生 或是突然的無窮迴圈會發生這樣的問題呢? 發生此錯誤訊息的電腦系統為vista 我自己本身還沒有遇到過...(我用xp) 不知道是否有知道有什麼與flash相關的教學文章嗎>_< 感恩不盡喔!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.95.137

11/08 00:08, , 1F
Flash管理記憶體的方式是garbage collector
11/08 00:08, 1F

11/08 00:08, , 2F
Google一下可以查到GC的運作機制
11/08 00:08, 2F

11/08 00:08, , 3F
簡單來說,當有一個物件你不需要使用的時候
11/08 00:08, 3F

11/08 00:08, , 4F
可以讓裝載它reference的變數值為null
11/08 00:08, 4F

11/08 00:09, , 5F
當一個物件不再被任何一個變數裝載refernce的時候
11/08 00:09, 5F

11/08 00:09, , 6F
GC就會在需要記憶體的時候去把該物件從記憶體上消除掉
11/08 00:09, 6F

11/08 00:10, , 7F
因為它再也沒有辦法被存取到,所以它佔用著記憶體
11/08 00:10, 7F

11/08 00:10, , 8F
至於你說的function裡面宣告變數,這叫local variable
11/08 00:10, 8F

11/08 00:11, , 9F
一離開function之後該變數就不見了
11/08 00:11, 9F

11/08 00:11, , 10F
如果該變數是某個物件唯一的reference
11/08 00:11, 10F

11/08 00:11, , 11F
那該物件也會在適當時機被GC處理掉
11/08 00:11, 11F

11/08 00:12, , 12F
因為我聊天室存取人數是使用二維陣列 全域一維
11/08 00:12, 12F

11/08 00:13, , 13F
當你畫面上的視覺元素不需要的時候,記得把它remove掉
11/08 00:13, 13F

11/08 00:13, , 14F
不然光是alpha = 0或者visible = false還是有佔用記憶體
11/08 00:13, 14F

11/08 00:14, , 15F
然後就是那些event listener是event發生才會被呼叫
11/08 00:14, 15F

11/08 00:14, , 16F
定義好之後沒有事件發生不會消耗資源,不用擔心
11/08 00:14, 16F

11/08 00:15, , 17F
也全域二維 用迴圈產生二維 那這樣執行完這個會刪掉嗎
11/08 00:15, 17F

11/08 00:15, , 18F
全域變數不會自動被刪掉,不需要的時候需要你自己delete
11/08 00:15, 18F

11/08 00:15, , 19F
我說錯了 是local= =名稱搞錯 我想到錯亂抱歉
11/08 00:15, 19F

11/08 00:16, , 20F
很謝謝你 我去查一下garbage collector的運作
11/08 00:16, 20F

11/08 00:18, , 21F
CPU太廢也會出現這個訊息
11/08 00:18, 21F
文章代碼(AID): #1956T1oo (Flash)