除錯程式出現異常,用debug看到的是空指標異常。debug真的好用啊,
沒有它還真不行。但是**出現的空指標?通過斷點跟蹤,沒有找
到**行。可能斷點的地方設定不對。
出現問題的時候,求助於網路是個很好的方法。看了很多帖子,覺得
乙個帖子比較符合我遇到的情況。這個帖子分析了應用crash的三種情況,
其中一條「物件為空」和我的情況比較類似。
為了排查那個物件為空,我採用了一種最笨的方法,就是隔離**。
具體來說,按照執行的次序,注釋掉部分後執行的**,保留前半
部分的**。因為**不多,所以,這個方法適用,而且還比較有效。
這樣的「二分法」,使我很快的定位了問題出在什麼地方。原來,是乙個、
呼叫findviewbyid(r.laytou.image_view)返回了乙個空的指標。循著這個線索,
根據我對於語言的理解,我推測肯定是這個imageview物件沒有初始化。
再仔細看看我的**,發現我在定義私有變數mimageview的時候,就調
用了findviewbyid,可是,此時是編譯時,引數image_view這個xml中描述
的物件可能沒有初始化。根據我的經驗,我覺得系統可能是在當前的
繼承於activity類的類的物件在初始化oncreate的時候,會解析xml檔案,
然後,根據裡面的view等空間做初始化。而私有變數應該是在這之前。
於是,我在類中只生命乙個imageview的私有變數,但是,並不定義,也
不賦值。而賦值是寫在oncreate函式裡面,並且在setcontentview之後。
因為,我確信,setcontentview肯定對於imageview控制項進行了初始化。
這麼一改之後,果然ok了。
回憶起來,寫**的時候有些想當然了,沒有分析物件的生存期。
不過,在問題解決之後,感覺經驗值提公升了。還是那句話,遇到問題
不是壞事,經驗就在乙個個問題之後增長。
雖然現在按說已經是春天了,但是天氣依然寒冷,昨天還下雪籽,這是
春天麼?窗外北風的呼嘯,讓人不寒而慄。而我的手也凍得冰冷。但是,
直到停下來,我才發覺。這可能就是程式設計師的生活?鄙視也罷,欣賞也
好,它就真實的存在於這個世界裡面。
python第乙個程式設計 第乙個 Python 程式
簡述 安裝完 python 後,windows 中 開始選單或安裝目錄下就會有 idle 開發 python 程式的基本 ide 整合開發環境 幫助手冊 模組文件等。linux 中 只需要在命令列中輸入 python 命令即可啟動互動式程式設計。互動式程式設計 互動式程式設計不需要建立指令碼檔案,是...
第乙個部落格
我不知道為什麼 我在csdn上創了乙個賬號,又開通了部落格。也許我不是名人,也許幻想著成為名人。在這裡 我不會給任何人許諾,這個部落格可能有乙個博文 有兩個博文 或者會有很多 很多 很多。不過讓我有個大膽的猜想,如果這個部落格在今後有很多很多自己寫的博文,說明我成功了 在自己眼裡 也說明這個方法時正...
第乙個爬蟲
很多人學習python的目的就是為了學習能夠實現爬蟲的功能,這裡,我使用了scrapy框架來實現了乙個簡單的爬蟲功能,這裡我簡單的介紹一下scrapy專案的建立,和執行。1,第一步是安裝scrapy,我相信到了這一步,大多數人都已經會安裝第三方庫檔案了,這裡主要是使用命令pip install sc...