電商項目完成的BUG調查原因和解決方案


1.     BUG系列一:界面銷毀時,未關閉廣播, dialog等,崩潰
·        Bug現象

Bug 85778:同一個賬號,兩部手機登陸,第一個登陸的手機,點擊我的優惠券會退出app

·        Bug原因

Fragement 存在廣播和Dialog等有關控件,fragement銷毀了,但是未關閉廣播或控件,導致崩潰

·        Bug解決方法

在Fragement的onDestroy()中及時處理未注銷的廣播或Dialog。


1.     Bug系列二:未加載完布局,先調用布局,導致布局為null,崩潰
·        Bug現象

Bug 86244: 斷網情況下,進入APP,點擊消息,崩潰

·        Bug原因

Activity繼承BaseActivity,在onCreate()方法內,顯示出錯信息的布局,未放在initView(), initData(),initListener()前方,導致在initData()獲得網絡數據失敗,需調用錯誤布局時,錯誤布局仍為空,調用失敗,崩潰

·        Bug解決方法

將布局的注入放在initView(), initData(),initListener()前方。

 

 

2.     Bug系列三:Fragement不存在於viewPager,先調用其里面的方法,導致獲取不到上下文,崩潰
·        Bug現象

Bug 86514: 斷網情況下,進入APP,點擊購物車,崩潰

·        Bug原因

在MainActivity下有調用到shoppingCartFragment(購物車)下的requestCartItems()(獲取購物車信息)的方法。在斷網情況下,第一次進入App,點擊購物車,直接調用requestCartItems()。無網絡情況下,同BUG系列二,崩潰。因為Fragement不存在,布局未加載。

·        Bug解決方法

在MainAcitvity調用requestCartItems() 方法時,加判斷,判斷Fragement是否已存在,shoppingCartFragment.isAdded().

 

 

 

 

3.     Bug系列四:更換賬號時,HashMap里的數據未清除,引起的數據問題
·        Bug現象

介紹:主頁中的商品列表是通過獲取HashMap里的 數據顯示

Bug:  從有商品列表數據的地區,更換帳號到沒有任何商品的地區,首頁應該顯示無商品,但是仍顯示上個地區商品數據。退出app,重新進入后,首頁則正確顯示。

·        Bug原因

在首頁第一次,獲得商品后,存入HashMap,更換帳號到沒有任何商品的地區時,因為未獲得新的數據,未去更新HashMap里的數據,導致該BUG產生。

 

疑問:假設原為有商品的A區,更換帳號到有商品的B區時,為何沒出現,該BUG?

解釋:更換到有商品的B區時,從服務器那獲得到了新數據,重新將HashMap原來的老數據替換掉;而如果該地區無任何數據,未更新HashMap.

·        Bug解決方法

在退出賬號的同時,清空HashMap。

 

 

 

 

4.     Bug系列五:圖片壓縮的邊框計算未跟控件一致
·        Bug現象

Bug 86983: 商品詳情下面的圖片介紹現在是把右邊減掉了一部分,改成以實際大小縮小原圖

·        Bug原因

介紹:這個流程是圖片壓縮后,計算好其邊框后,存入TextView。

在計算圖片壓縮后應顯示的寬度時,是按手機的屏幕寬度,未按TextView的寬度,導致圖片右邊被減掉。修改前圖

·        Bug解決方法

按TextView的寬度計算壓縮后圖片的寬度,另外注意 padding和layout_margin是左右都有;ScreenWWidth是PX,需將dip轉px;修改后如圖
————————————————
版權聲明:本文為CSDN博主「茶卡y」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u012881042/article/details/51221498


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM