Showing posts with label Apple App. Show all posts
Showing posts with label Apple App. Show all posts

Monday, March 25, 2013

PerPageHTML Calendar 不會換日問題修正

From Evernote:

PerPageHTML Calendar 不會換日問題修正

剛接手了一支 iPhone 4,發現 JB 後可以安裝 PerPageHTML 就能有類似 hTc 時鐘的 widget!


嗯,畫面果然不錯~
除了 hTc 時鐘,還有Calendar widget。


但是,過了一天就發現 Calendar 不會自動換日,但是時鐘卻很正常。

用 iFile 檢查了 Calendar code 後,發現這不知道從哪裡拿來用的 Calendar (會不會是直接拿 dashboard widget?),本來就都有用 setTimer 寫好 update timer 在換日時作用,只是不知道為什麼在 PerPageHTML 下不會作用。但是 hTc 時鐘卻告訴我們,在 PerPageHTML 下 setInterval 是正常的。

作了幾個簡單的測試,發現
  • setTimer 沒有作用
  • setInterval 30min 也不會動作
  • 但是 setInterval 1sec 卻可以正常動作
既然有了這個測試結果,我也懶得去深究原因。(雖然猜測大概是 PerPageHTML 的 Renderer 並沒有一直在執行 Calendar widget)簡單改了一下 Calendar 後,發現會正確換日了,實測也沒有耗電的現象。

所以,在此做個紀錄、收工~

我修改了
     1. 在 Widget.html body 加入 setInterval 呼叫 updateDate

<span id='date'>
<script language="JavaScript">setInterval('updateDate()', 1000)</script>
</span>

     2. 修改 Canlendar.js 的 updateDate

function updateDate ()
{
     gDate = new Date();
     var currentEqualDate = gDate.getMonth() == gBrowsingMonth &&
                                gDate.getFullYear() == gBrowsingYear &&
                                gDate.getDate() == gBrowsingDate;
 
     if (!currentEqualDate)
     {
          gBrowsingMonth = gDate.getMonth();
          gBrowsingYear = gDate.getFullYear();
          gBrowsingDate = gDate.getDate();
 
          drawGrid (gBrowsingMonth, gBrowsingYear);
          drawHiliteTodayInGrid ();
          drawText ();
     }
}

Friday, May 27, 2011

iOS 開發日誌:memory leak at navigation pushing control

一直覺得 XCode 提供的 Instrument tool 很方便,習慣都會在 milestone build 做個 memory leak 檢查。

昨天卻發生了 memory leak 在 UIKit 裡面的現象

        IssueViewController *nextController = [[IssueViewController alloc] init];
        [self.navigationController pushViewController:nextController animated:YES];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
        [nextController release];

Code 很標準,但是 Instrument 卻回報在 pushViewController 發生了 memory leak,不管在 simulator 或是實機都一樣。

翻翻 Google,看到很多人有過這種經驗,但是並沒有一致的原因,多半還都是沒有 solution。

在使用 Heap spot 也看不出問題的情形下,只好用最笨的隔離法測試,結果終於找到問題點了!

問題出在 pushViewController 的下一行

        [self.navigationController setNavigationBarHidden:YES animated:YES];

原來在 push 後若是再對自己的 navigationController 動作,對導致 reference count 的增加,變成 memory leak...

移掉這行就 ok 了。

這情形不好抓,只好寫篇記錄~

Tuesday, November 09, 2010

[App] 討人厭的開發者行為

使用 iPad 一個多月 有 App Store 確實很方便,也發現了幾種很差勁的 App 開發者行為,會陸續記錄下來,今天先寫兩個
  1. Maxim: 十月底時推出 Oct. free issue 讓人閱讀免費的十月號,結果在 11 月更新 App 就直接把你 iPad 裡的免費 Oct. issue 幹掉變成要點選購買。
  2. MagV: 號稱付月費就能看多種雜誌,但是雜誌品質不佳外,居然又另外推出旅遊情報誌 App 對某些雜誌分開收費。