Lentidão



  • Senhores,

    A App que criei com o Maker Mobile está muito lenta.

    Rodamos no Galaxy SII, Galaxy SIII e o Galaxy TAB 2 (10.1")...

    É normal isso?

    O que posso fazer para melhorar a performance da App?

    Obrigado pela força pessoal!


  • [quote="Rodrigo Leal"]A App que criei com o Maker Mobile está muito lenta. [/quote] Em que momento?


  • [quote="Ronélio Oliveira"][quote="Rodrigo Leal"]A App que criei com o Maker Mobile está muito lenta. [/quote] Em que momento?[/quote] Quase sempre...

    Tipo... quando entro num chamado ele traz vários campos e eles demoram a carregar seus conteudos. Quando clico numa outra aba, ele demora... Quanto vou incluir um registro com apenas um campo texto...

    Está lento em geral!


  • Entendi. Algumas pontos:

    a. Não carregue muitos registros no dispositivo. Se ainda assim for necessário, tente efetuar filtros nestas consultas para que todos os dados não sejam carregados;
    b. Verificar se existem fluxos nos eventos do formulário, ao navegar é um bom exemplo, que podem ocasionar lentidão por contas dos processamentos.


  • [quote="Ronélio Oliveira"]Entendi. Algumas pontos:

    a. Não carregue muitos registros no dispositivo. Se ainda assim for necessário, tente efetuar filtros nestas consultas para que todos os dados não sejam carregados;
    b. Verificar se existem fluxos nos eventos do formulário, ao navegar é um bom exemplo, que podem ocasionar lentidão por contas dos processamentos.[/quote] Então Ronélio,

    As consultas são simples e carregam apenas os campos que realmente preciso. Quanto a qualidade de registros, não tem jeito, preciso carregar muitos mesmo! Em apenas uma tabela tenho 264 registros. Em outra tenho 164.

    Não existe outra forma de melhorar a performance da App???


  • [quote="Ronélio Oliveira"]Não existe outra forma de melhorar a performance da App???[/quote] Sim, já fiz casos semelhantes filtrando os itens. Ex: se precisa listar um lookup com 400 registros, eu filtrava uma parte e dava a opção para o usuário filtrar os itens restantes, isso com variável de sessão.

    Outro ponto pode ser a criação de índices no SQLite. Estes índices terão que ser criados manualmente.


  • [quote="Ronélio Oliveira"][quote="Ronélio Oliveira"]Não existe outra forma de melhorar a performance da App???[/quote] Sim, já fiz casos semelhantes filtrando os itens. Ex: se precisa listar um lookup com 400 registros, eu filtrava uma parte e dava a opção para o usuário filtrar os itens restantes, isso com variável de sessão.

    Outro ponto pode ser a criação de índices no SQLite. Estes índices terão que ser criados manualmente.[/quote] Vixi... pode explicar como faço isso esses índices manualmente no maker???


  • Use a função executar comandos SQL.
    A sintaxe
    CREATE INDEX IF NOT EXISTS [i]nome do íncide[/i]ON [i]tabela[/i](campo1, campo2, campoN...);

    Mais informações
    http://www.sqlite.org/lang_createindex.html

    Cada comando para criar o índice deverá estar separado em um processamento.


  • [quote="Ronélio Oliveira"]Use a função executar comandos SQL.
    A sintaxe
    CREATE INDEX IF NOT EXISTS [i]nome do íncide[/i]ON [i]tabela[/i](campo1, campo2, campoN...);

    Mais informações
    http://www.sqlite.org/lang_createindex.html

    Cada comando para criar o índice deverá estar separado em um processamento.[/quote] em que momento devo criar esses índices?
    ao final da sincronização?


  • [quote="Rodrigo Leal"][quote="Ronélio Oliveira"]Use a função executar comandos SQL.
    A sintaxe
    CREATE INDEX IF NOT EXISTS [i]nome do íncide[/i]ON [i]tabela[/i](campo1, campo2, campoN...);

    Mais informações
    http://www.sqlite.org/lang_createindex.html

    Cada comando para criar o índice deverá estar separado em um processamento.[/quote] em que momento devo criar esses índices?
    ao final da sincronização?[/quote] Seria um fluxo no "Ao Entrar" de um formulário específico.


  • [quote="Ronélio Oliveira"][quote="Rodrigo Leal"][quote="Ronélio Oliveira"]Use a função executar comandos SQL.
    A sintaxe
    CREATE INDEX IF NOT EXISTS [i]nome do íncide[/i]ON [i]tabela[/i](campo1, campo2, campoN...);

    Mais informações
    http://www.sqlite.org/lang_createindex.html

    Cada comando para criar o índice deverá estar separado em um processamento.[/quote] em que momento devo criar esses índices?
    ao final da sincronização?[/quote] Seria um fluxo no "Ao Entrar" de um formulário específico.[/quote] Então... eu fiz o seguinte...

    Depois que ele sincroniza todas as tabelas, mandei criar os índices de todas as tabelas existentes no dispositivo.

    Mas não mudou a performance... :(

    Tipo...

    Depois da sincronização, clico na opção chamados... aí aparece a lista dos chamados sem demorar... mas quando clico em algum chamado, ele abre o formulário... mas demora para carregar os campos... nesse formulário tenho "abas" anexos, follow-ups e solução...

    Geralmente ele demora quando clico em editar e salvar...

    Pode ser alguma coisa coisa?

    Desculpe-me, mas não sei o que fazer mais... e preciso entregar esse projeto ou meu chefe vai abandonar de vez o Maker...

    Obrigado mais uma vez pela força!

    Abração!


  • [quote="Rodrigo Leal"] Depois da sincronização, clico na opção chamados... aí aparece a lista dos chamados sem demorar... mas quando clico em algum chamado, ele abre o formulário... mas demora para carregar os campos... nesse formulário tenho "abas" anexos, follow-ups e solução...

    Geralmente ele demora quando clico em editar e salvar...

    Pode ser alguma coisa coisa?

    Desculpe-me, mas não sei o que fazer mais... e preciso entregar esse projeto ou meu chefe vai abandonar de vez o Maker...

    Obrigado mais uma vez pela força!

    Abração![/quote] Isso tem cara de ser algum fluxo. Vc possui algum evento neste formulário?


  • [quote="Ronélio Oliveira"][quote="Rodrigo Leal"] Depois da sincronização, clico na opção chamados... aí aparece a lista dos chamados sem demorar... mas quando clico em algum chamado, ele abre o formulário... mas demora para carregar os campos... nesse formulário tenho "abas" anexos, follow-ups e solução...

    Geralmente ele demora quando clico em editar e salvar...

    Pode ser alguma coisa coisa?

    Desculpe-me, mas não sei o que fazer mais... e preciso entregar esse projeto ou meu chefe vai abandonar de vez o Maker...

    Obrigado mais uma vez pela força!

    Abração![/quote] Isso tem cara de ser algum fluxo. Vc possui algum evento neste formulário?[/quote] Três...
    Antes de Alterar
    Ao Entrar
    Ao Navegar


  • Já pensou na possibilidade destes fluxos estarem causando lentidão?
    Suspeito do fluxo "Ao navegar" e depois do "Ao entrar"


  • [quote="Ronélio Oliveira"]Já pensou na possibilidade destes fluxos estarem causando lentidão?
    Suspeito do fluxo "Ao navegar" e depois do "Ao entrar"[/quote] estou retirando para testar e verificar se vai melhorar a performance. O Problema é que preciso deles...


  • [quote="Rodrigo Leal"][quote="Ronélio Oliveira"]Já pensou na possibilidade destes fluxos estarem causando lentidão?
    Suspeito do fluxo "Ao navegar" e depois do "Ao entrar"[/quote] estou retirando para testar e verificar se vai melhorar a performance. O Problema é que preciso deles...[/quote] Ihhhhh Ronélio... retirei os caras (fluxos/eventos) e continuou lento do mesmo jeito... sinistro hein?!?


  • Se vc exportar a aplicação sem registro continua lento?


  • [quote="Ronélio Oliveira"]Se vc exportar a aplicação sem registro continua lento?[/quote] A App é exportada sem registros...

    Nela tem uma opção para sincronização via webservice (feito em Maker também) que trás os chamados do analista para o dispositivo. Na sincronização importo templates de solução, categorias, diagnósticos, chamados, follow-ups e duas tabelas de relacionamento.

    Estou com dificuldade em colocar o "carregando" na parte de sincronização. Tentei com Texto, com campo e nada... Mas isso é assunto de outro post.


  • [quote="Rodrigo Leal"][quote="Ronélio Oliveira"]Se vc exportar a aplicação sem registro continua lento?[/quote] A App é exportada sem registros...

    Nela tem uma opção para sincronização via webservice (feito em Maker também) que trás os chamados do analista para o dispositivo. Na sincronização importo templates de solução, categorias, diagnósticos, chamados, follow-ups e duas tabelas de relacionamento.

    Estou com dificuldade em colocar o "carregando" na parte de sincronização. Tentei com Texto, com campo e nada... Mas isso é assunto de outro post.[/quote] Na aba solução tenho três combos...

    Categoria ( 464 registros )

    Diagnósito ( filtrada por categoria - 146 registos )

    Template ( filtrada por Diagnóstico - 264 registros )

    Pode ser isso?


  • Vc consulta os webservices toda vez para preencher os combos?

Log in to reply