主题在启动时将所有图像导入图像文件,并通过netbeans减慢项目 的运行速度。如何避免?

问题描述 投票:1回答:1

伟大的工具,感谢您的宝贵时间和精力!我注意到启动启动Designer尝试删除未使用的图像:启动Designer之后,但仍在加载主题时,我可以选择“删除未使用的图像”来启动其界面(列表)。但是,如果让主题加载,则不会出现“删除未使用的图像”列表。加载主题后,将使用图像填充所有图像,所有选择器名称均为“ import-############”,因此主题正在使用这些图像...即使我不打算我已经在Gui Builder中设计了所有界面布局,如果我删除了其中一个'import-############“文件并保存然后尝试运行项目,则该项目会运行,最终(在模拟器启动前10分钟以上),但持续显示以下内容:警告:使用EncodedImage.create(InputStream)加载大图像可能会导致内存问题,请尝试使用EncodedImage.create(InputStream,int)。如果我启动设计器并允许主题加载(2-3分钟左右)并单击“保存”,然后尝试运行项目,则进一步无法诊断,因此删除任何内容后,都会收到相同的错误消息。因此在我看来,当我启动Designer时,它会导入这些图像,然后导致错误/警告。那么有没有办法避免这种图像导入并删除不需要的图像呢?相反,如果我不启动Designer,则直接在Netbeans中运行该项目。我没有收到错误/警告,并且该项目在模拟器中的启动速度更快。对于每种情况,我都复制了一个新的项目文件夹,然后启动了netbeans。在此文件夹中,项目不会事先启动Designer。如果手动删除未使用的图像,则会出现空指针异常错误...

Re Shai在5月26日的评论

因此,当我删除图像和两个“ theme.res”文件时,该项目将无法运行并生成以下输出:

Generating GUI sources
timeStr=1.0.0-1589639113000-1588429678000, lastTime=1.0.0-1589639113000-1588429678000
CIMenus.java unmodified, skipping
timeStr=1.0.0-1588250408000-1588255873000, lastTime=1.0.0-1588250408000-1588255873000
SplashForm.java unmodified, skipping
timeStr=1.0.0-1589730011000-1589485802000, lastTime=1.0.0-1589730011000-1589485802000
PractiseArea.java unmodified, skipping
timeStr=1.0.0-1588621870000-1588255973000, lastTime=1.0.0-1588621870000-1588255973000
Login.java unmodified, skipping
timeStr=1.0.0-1588507007000-1588506037000, lastTime=1.0.0-1588507007000-1588506037000
CISpaceInvader.java unmodified, skipping
timeStr=1.0.0-1589637149000-1588621944000, lastTime=1.0.0-1589637149000-1588621944000
LessonPlayer.java unmodified, skipping
init:
Deleting: /Users/andrew/netbeans-workspace/CrackinIt/build/built-jar.properties
deps-jar:
Updating property file: /Users/andrew/netbeans-workspace/CrackinIt/build/built-jar.properties
JavaFX is loaded
Retina Scale: 2.0
Updating merge file /Users/andrew/netbeans-workspace/CrackinIt/css/theme.css.merged
Input: /Users/andrew/netbeans-workspace/CrackinIt/css/theme.css
Output: /Users/andrew/netbeans-workspace/CrackinIt/src/theme.res
Acquiring lock on CSS checksums file /Users/andrew/netbeans-workspace/CrackinIt/.cn1_css_checksums...
Lock obtained
An error occurred while updating resources for UIID import-1588534357646.  Processing property bgImage
Releasing lock
java.lang.RuntimeException: java.io.FileNotFoundException: /Users/andrew/netbeans-workspace/CrackinIt/css/images/Button1-7.png (No such file or directory)
    at com.codename1.designer.css.CSSTheme.getBackgroundImage(CSSTheme.java:2310)
    at com.codename1.designer.css.CSSTheme.getBackgroundImages(CSSTheme.java:1981)
    at com.codename1.designer.css.CSSTheme.updateResources(CSSTheme.java:1678)
    at com.codename1.designer.css.CN1CSSCLI.compile(CN1CSSCLI.java:535)
    at com.codename1.designer.css.CN1CSSCLI.main(CN1CSSCLI.java:390)
    at com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:556)
Caused by: java.io.FileNotFoundException: /Users/andrew/netbeans-workspace/CrackinIt/css/images/Button1-7.png (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at java.net.URL.openStream(URL.java:1045)
    at com.codename1.designer.css.CSSTheme.getBackgroundImage(CSSTheme.java:2258)
    ... 5 more
/Users/andrew/netbeans-workspace/CrackinIt/build.xml:628: Java returned: 1
BUILD FAILED (total time: 4 seconds)

当我从“ build”文件夹中删除图像和“ theme.res”文件时,项目将在项目查看器中以“ theme.res”(res)文件启动。如果我启动res文件并允许它加载主题,然后保存并退出设计器,则该项目将运行。

但是如果我启动res文件并允许其加载主题,然后删除其中一个未使用的图像,保存并退出设计器,则“ theme.res”文件将从项目查看器中消失。现在,当尝试运行项目时,它会显示以下内容:

ant -f /Users/andrew/netbeans-workspace/CrackinIt -Dnb.internal.action.name=run run
Generating GUI sources
timeStr=1.0.0-1589639113000-1588429678000, lastTime=1.0.0-1589639113000-1588429678000
CIMenus.java unmodified, skipping
timeStr=1.0.0-1588250408000-1588255873000, lastTime=1.0.0-1588250408000-1588255873000
SplashForm.java unmodified, skipping
timeStr=1.0.0-1589730011000-1589485802000, lastTime=1.0.0-1589730011000-1589485802000
PractiseArea.java unmodified, skipping
timeStr=1.0.0-1588621870000-1588255973000, lastTime=1.0.0-1588621870000-1588255973000
Login.java unmodified, skipping
timeStr=1.0.0-1588507007000-1588506037000, lastTime=1.0.0-1588507007000-1588506037000
CISpaceInvader.java unmodified, skipping
timeStr=1.0.0-1589637149000-1588621944000, lastTime=1.0.0-1589637149000-1588621944000
LessonPlayer.java unmodified, skipping
init:
Deleting: /Users/andrew/netbeans-workspace/CrackinIt/build/built-jar.properties
deps-jar:
Updating property file: /Users/andrew/netbeans-workspace/CrackinIt/build/built-jar.properties
JavaFX is loaded
Retina Scale: 2.0
Updating merge file /Users/andrew/netbeans-workspace/CrackinIt/css/theme.css.merged
Input: /Users/andrew/netbeans-workspace/CrackinIt/css/theme.css
Output: /Users/andrew/netbeans-workspace/CrackinIt/src/theme.res
Acquiring lock on CSS checksums file /Users/andrew/netbeans-workspace/CrackinIt/.cn1_css_checksums...
Lock obtained
/Users/andrew/netbeans-workspace/CrackinIt/src/theme.res has been modified since it was last compiled.  Making copy at /Users/andrew/netbeans-workspace/CrackinIt/css/.backups/theme.res.1590562229494.bak
An error occurred while updating resources for UIID import-1588534357646.  Processing property bgImage
Releasing lock
java.lang.RuntimeException: java.io.FileNotFoundException: /Users/andrew/netbeans-workspace/CrackinIt/css/images/Button1-7.png (No such file or directory)
    at com.codename1.designer.css.CSSTheme.getBackgroundImage(CSSTheme.java:2310)
    at com.codename1.designer.css.CSSTheme.getBackgroundImages(CSSTheme.java:1981)
    at com.codename1.designer.css.CSSTheme.updateResources(CSSTheme.java:1678)
    at com.codename1.designer.css.CN1CSSCLI.compile(CN1CSSCLI.java:535)
    at com.codename1.designer.css.CN1CSSCLI.main(CN1CSSCLI.java:390)
    at com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:556)
Caused by: java.io.FileNotFoundException: /Users/andrew/netbeans-workspace/CrackinIt/css/images/Button1-7.png (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at java.net.URL.openStream(URL.java:1045)
    at com.codename1.designer.css.CSSTheme.getBackgroundImage(CSSTheme.java:2258)
    ... 5 more
/Users/andrew/netbeans-workspace/CrackinIt/build.xml:628: Java returned: 1
BUILD FAILED (total time: 3 seconds)

未使用的图像文件不在项目文件夹中

image codenameone designer
1个回答
0
投票

这将永远不会为您服务。

一旦使用CSS,设计器仅对查看生成的文件有用。但是,由于CSS会重新生成资源文件,因此您所做的任何更改都将被丢弃。您需要从CSS images目录中删除不再使用的图像,然后从物理上删除res文件,以确保从头开始重新生成。

© www.soinside.com 2019 - 2024. All rights reserved.