roy 发表于 2013-12-26 09:29:35

TQ2416內存最小的不是還有 64M 為何只有 226676

(1)請問我在控制台->系統->[一般項目]看到的內存為何是 19828
(2)[在內存項目]總計是 226676 (只能調到最右邊) 是什麼作用?
(3)TQ2416內存最小的不是還有 64M 為何只有 226676
(4)如果要調整給我的應用程序內存大一點該怎麼做?

Jangel 发表于 2013-12-26 10:07:57

因为我们在platform.reg 738行左右设置了:
;添加下面这个注册表信息后,整个WinCE都可以读写。

        "MountAsBootable"=dword:0
        "MountAsRoot"=dword:0
这样的话,程序空间跟存储空间被设为固定,在控制面板中无法调整,调整比例为config.bib中的63行左右的:
        FSRAMPERCENT=0x0D0D0D0D
以上为公式算出的比例,可以具体参考手册

如果想自动调整可以注释掉上面提及reg部分

roy 发表于 2013-12-26 11:37:19

請問以下的 Timer 固定5秒換圖,為何切 3~5 張就會出錯,是內存爆掉嗎,我能確定圖檔及檔名程式在取得時正確,如果把USB與 PC 之間的連線把掉,單獨執行跑的圖片會多一點,請問是我方法用錯,還是內存問題

       private void ScreenProtectionChangeJpgTimer_Tick(object sender, EventArgs e)
      {
                //MessageBox.Show("Tick : " + ChangeJPG);
                //ScreenProtectionPictureBox.Dispose();
                ScreenProtectionPictureBox.Image = null;
                string assemblyFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
                string JPG_EXIST_PATH = assemblyFolder + "\\ScreenProtectionImg\\JPG" + ChangeJPG + ".JPG";

                if (System.IO.File.Exists(JPG_EXIST_PATH))
                {

                  Bitmap ImageI = new Bitmap(JPG_EXIST_PATH);
                  ScreenProtectionPictureBox.Image = ImageI;
                  ChangeJPG++;
                  ImageI = null;
                  //ImageI.Dispose();
                }
                else
                {
                  ChangeJPG = 1;
                }
      }

roy 发表于 2013-12-26 11:38:51

連線執行爆掉時會提示此行的陣列有問題 Bitmap ImageI = new Bitmap(JPG_EXIST_PATH);

roy 发表于 2013-12-26 11:56:32

後來我一邊執行一邊執行監看系統內容的內存使用,換一張圖就會被吃一些,有時吃到快沒有時會自動被清除內存,有時就不會,之後就爆了~請問有什麼方法一張就清除一次?

TQ-lkp 发表于 2013-12-27 09:24:23

看你的代码,你是把图片作为静态资源放到应用程序中了,你尝试用从本地加载图片的方法来试下
另外,你说的出问题,应该可能用try catch来捕捉异常,把异常显示出来看了到底是什么问题
页: [1]
查看完整版本: TQ2416內存最小的不是還有 64M 為何只有 226676