felipeaj 0 Denunciar post Postado Dezembro 10, 2009 E aí pessoal! Estou programando em C# e VB.Net for Web a quase 2 anos, e comecei a fazer uma pequena aplicaçãozinha que vai ficar rodando em cada desktop, que simplesmente a cada minuto verifica umas informações no BD remoto e exibe um balão com uma informação. A questão é que de partida, o processo ocupa 15Mb de memória. Eu imagino que o exe carregue várias bibliotecas e utilidades que o .Net provê, etc etc, mas pro uso que eu vou fazer dele (uma conexão com o banco e talvez um balão a cada minuto), isso é demais Em uma máquina até não é tanto, mas temos pc-expanion para alguns funcionários, e podem chegar a 6 pessoas usando a "mesma" máquina ao mesmo tempo Então 6x15 = 90Mega 90 mega pra fazer o que o programa faz é demais! Existe uma forma de reduzir isso? Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Dezembro 10, 2009 Esse não é um cálculo correto (6x15), pode ser que dê menos ou mais de acordo com diversos fatores (como a qualidade do código escrito). E o .Net consegue gerenciar bem essa quantidade de memória. Compartilhar este post Link para o post Compartilhar em outros sites
felipeaj 0 Denunciar post Postado Dezembro 10, 2009 Esse não é um cálculo correto (6x15), pode ser que dê menos ou mais de acordo com diversos fatores (como a qualidade do código escrito). E o .Net consegue gerenciar bem essa quantidade de memória. Uhmmm... mas da forma que está a aplicação (formulário principal e uma classe apenas, com um método) ele está ocupando 15 mega No formulário tem um timer, e um notifyIcon, que faz com que ele fique rodando só no tray, e eventualmente dispare um daqueles "baloon". Não vejo como a qualidade do código poderia estar causando o uso de memória maior do que esperado! Compartilhar este post Link para o post Compartilhar em outros sites
felipeaj 0 Denunciar post Postado Dezembro 15, 2009 Fiz um teste, criei uma aplicação chamada "TesteWS", que só consulta um WebService que retona um boolean: WSRecados.WSRecadosSoapClient Recados = new WSRecados.WSRecadosSoapClient("WSRecadosSoap"); MessageBox.Show(Recados.AutenticaUsuario("nome.sobrenome", "123").ToString()); E só Quando a aplicação inicia, ela tá com 8 mega. Quando clica no botão que chama os comandos acima, ele sobe para 25 mega e assim fica. Não achei ninguém mais reclamando disso... será que o pessoal não se importa com isso? Ou pouca gente desenvolve para WinForms? Valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
Jucelio 0 Denunciar post Postado Dezembro 30, 2009 sim amigo felipeaj isso muito importante é muito bom um programador saber que sua aplicação esta consumindo muita memória, porem utilizar método dipose resolve esse caso o método dipose foi criado para isso quando é disparado método dispose é mandado um sinal para garbage collection o gerenciado de memória do net framework liberar essa memória do componente especifico. Compartilhar este post Link para o post Compartilhar em outros sites
Danimar 0 Denunciar post Postado Janeiro 9, 2010 Tente criar uma aplicação console, ou um serviço e remova todos as referencias que você não utiliza no seu projeto. E se você não vai mostrar nada na tela apenas no tray, não precisa criar um formulario. Não esqueça de dar dispose na tela tbem. Creio que não va baixar a menos de 10 mega a tua aplicação. Compartilhar este post Link para o post Compartilhar em outros sites