I have previously posted a simple app I am working on, and while I love
python and wxWindows, after checking the memory usage on such a simple
app (system try application launcher) I see that it climbs to over
17mb! I have reduced all my imports to the bare workable minimum and
that just gets it under 17mb. Is there any way that I could compile or
optimize the my program and/or its memory usage?
(Note: I don't have a problem with making this program win32 specific,
as it already is only win32)


CODE:
#this section broken down soley for readability, normally one line
from wxPython.wx import wxMessageDialog,wxFrame,wxMenu,
wxBitmap,wxOK,wxID_ANY,wxID_EXIT,wxID_ABOUT,
wxBITMAP_TYPE_ICO,wxBITMAP_TYPE_PNG,wxMenuItem,
wxPySimpleApp,wxTaskBarIcon,wxIcon,EVT_TASKBAR_RIGHT_UP,EVT_MENU
#end

from os import startfile
from sys import exit

class MainWindow(wxFrame):
    def OnAbout (self, event):
        m = wxMessageDialog( self, " LUNCH Bar 0.1 \n"
                             " A launch bar written in Python using
wxWindows","About LUNCH", wxOK)
        m.ShowModal()
        m.Destroy
    def OnExit (self, event):
        self.tbi.Destroy()
        exit()
    def OnTrayRight (self, event):
        self.PopupMenu(self.rhtmenu)
    def OnLaunch (self, event):
        print event.GetString()
        path = 'D:\Program Files\Mozilla Firefox\Firefox.exe'
        startfile(path)
    def __init__(self,parent,id,title):
        wxID_FIREFOX = 1117
        wxFrame.__init__(self,parent,wxID_ANY, title, size = (
200,100))
        self.tbi = wxTaskBarIcon()
        icon = wxIcon('package.ico',wxBITMAP_TYPE_ICO)
        self.tbi.SetIcon(icon, '')
        self.rhtmenu = wxMenu()
        icon = wxBitmap(name = 'ffico.png', type = wxBITMAP_TYPE_PNG)
        item = wxMenuItem(parentMenu = self.rhtmenu, id = wxID_FIREFOX,
text='Firefox')
        item.SetBitmap(icon)
        self.rhtmenu.Append(wxID_EXIT, "&Exit"," Terminate this program")
        self.rhtmenu.Append(wxID_ABOUT, "&About"," Information about this
program")
        self.rhtmenu.AppendSeparator()
        self.rhtmenu.AppendItem(item)
        EVT_TASKBAR_RIGHT_UP(self.tbi, self.OnTrayRight)
        EVT_MENU(self, wxID_ABOUT, self.OnAbout)
        EVT_MENU(self, wxID_EXIT, self.OnExit)
        EVT_MENU(self, wxID_FIREFOX, self.OnLaunch)


appwin = wxPySimpleApp()
frame = MainWindow(None, -1, "Small editor")
appwin.MainLoop()

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to