0
我建立的空氣移動應用程序,並希望加載一組不同的圖形SD和HD設備的,我有我的資源類的設置如下:將導入具有嵌入元標記的類而不實例化類加載它們?
SD圖形
package view.graphics
{
public class MainMenuGraphicsSD extends GraphicsResource
{
[Embed(source = "../../../lib/graphics/mainmenu/logo.png")]
public static const logo:Class;
}
}
然後是HD
package view.graphics
{
public class MainMenuGraphicsHD extends GraphicsResource
{
[Embed(source = "../../../lib/graphics/mainmenu/logoHD.png")]
public static const logo:Class;
}
}
然後在主菜單類我都不得不
import view.graphics.MainMenuGraphicsHD;
import view.graphics.MainMenuGraphicsSD;
我通過類名資產管理人排隊裏面的物品,並預裝他們...
Assets.getInstance().assets.enqueue(isHD ? MainMenuGraphicsHD : MainMenuGraphicsSD);
將全部資產獲得嵌入但只有相關的定義中引用還是應該工作,我怎麼想它只能加載相關資源?
它們正在爲移動設備編譯,所以我假設這兩個資產都將嵌入到ipa或apk中,但是這兩組資產是否會在運行時加載到RAM中? – rorypicko
不,只有被引用的資產將被實例化,也被加載到RAM中。請看,位圖佔用大量RAM空間,而嵌入式資產通常花費少得多(類描述加上JPG/PNG的字節數組遠遠低於擴展的「BitmapData」),所以從資產到位圖的實際轉換是隻爲選定的資產完成。 – Vesper