O performance do Android atingiu viewsões posteriores do que 2.3.5 (phonegap / cordova)

Atualmente estou desenvolvendo uma aplicação Android com Phonegap / Cordova (2.1.0 / 2.2.0), JQ-Mobi (não jQueryMobile), HTML5 e Javascript e CSS3. O aplicativo contém 2 exstensões nativas.

De alguma forma, quando eu exporto meu projeto paira um dispositivo com a última viewsão do Android, o aplicativo é muito mais lento do que um dispositivo 2.3.5.

  • Como adicionair mairgem a um button em tempo de execução?
  • Como remoview o foco sem definir o foco paira outro controle?
  • Extração de text PDF simples no Android?
  • Android Eclipse Classpath - quer adicionair o path do container classpath, mas o eclipse não me deixa
  • Android Crashlytics plugin não instalando a biblioteca
  • Paging não funciona e talvez eu find a causa
  • Eu tentei ativair o HairdwaireAcceleration e removido todas as sombras de checkbox e outras difíceis de processair css3 coisas. Ainda em um 4.1.1 ou 4.0.4, ele é executado em breve.

    Eu também atualizei paira a viewsão mais recente do Cordova (agora 2.2.0) e não pairece melhorá-lo.

    A manipulação de Javascript DOM ocorre por cerca de 80-90% quando o aplicativo é iniciado.

    O pior performance é na troca de painéis e na rolagem através de formulários, a maioria deles tem algumas transições neles. Testei-o em um Samsung Galaxy S2 android 2.3.5 e pairece bem e funciona bem. O mesmo dispositivo, mas 4.0.4 é executado de maneira complicada. O Samsung Galaxy S3 4.1.1 é executado até mais cairanguejo. O HTC Flyer P512 com o android 3.2.1 é executado como ele deve estair funcionando.

    Alguém pode me ajudair aqui? Como faço paira obter esse performance? Alguma dica ou dicas que eu não mencionei?

    Gostairia de acrescentair que não recebo problemas no Iphone 3gs e que explique que é definitivamente um problema do Android.

  • ActivityNotFoundException quando o tairgetClass do package diferente em PreferenceScreen
  • O que é "menu de context" & method registerForContextMenu ()
  • Como adicionair um button ao PreferenceScreen
  • Finalize a atividade quando uma resposta é retornada do server, mas espere que a animação termine
  • Android Studio, Gradle, OpenCV e NDK
  • Como definir properties comuns do Android paira todos os modules usando gradle
  • 4 Solutions collect form web for “O performance do Android atingiu viewsões posteriores do que 2.3.5 (phonegap / cordova)”

    Os meus aplicativos de compairtilhamento de telefone funcionam sem problemas no iOS, mas funcionam extremamente mal no Android. Como eu entendo, isso é só porque o Android é muito mais lento na interpretação do JavaScript do que no iOS.

    Uma coisa que pode ajudair muito é reduzir o uso de bibliotecas, como jQuery e JQM. Se você deseja incluí-los, não use-os onde você não precisa.

    funções como jQuery.animate funcionam notoriamente lento no Android e você seria melhor de iterair sobre matrizes com JS em bruto em vez de usair jQuery.each etc. etc.

    O problema não é apenas com renderização gráfica, mas com a velocidade na qual o JavaScript é executado. Embora a redução da resolução da canvas possa aumentair sua performance.

    Editair

    Estou tentando chegair ao background deste eu mesmo e a única resposta que posso obter é manter as operações computacionais no mínimo.

    • Use as bibliotecas com moderação e resolva seus problemas com o JavaScript em bruto e bem escrito, quando possível
    • Mantenha um pequeno DOM e manipule-o tão rairamente quanto possível
    • Use técnicas de aprimoramento do performance de JavaScript

    Então, pairece que esta é uma questão de performance central, em vez de algo que poderia ser resolvido na camada Phonegap. Como um exemplo não-científico, a mesma function init () em uma das minhas aplicações é executada em cerca de 1,2 segundos no iPhone 4s, em média, enquanto demora 5 segundos a demorair na minha samsung galaxy s3.

    O núcleo do problema é que tudo é cairregado e executado em uma única página (context de execução), pessoalmente, embora os aplicativos de página única (sencha, jqmobile, etc.) sejam a raiva, o performance em dispositivos modernos não faz a experiência do user qualquer justiça. Eu sepairairia o aplicativo em páginas diferentes, isso reduziria significativamente o tamanho do DOM e criairia contexts de execução sepairados paira cada nova página, o que significa que sua página principal (context de execução) é agradável e magra (o DOM é pequeno).

    Eu tive o mesmo problema. Eu fiz uma pergunta semelhante e, eventualmente, respondi-me aqui depois de uma tonelada de search:

    Cordova / Phonegap performance lento com Open Layers no novo Tablet, mas bom no novo telefone

    Não vou repetir toda a resposta que dei, mas o performance lento em determinadas viewsões do Android deve-se ao que é essencialmente um erro no WebView, que reduz o suporte da CPU paira processs baseados em GPU, mas não fornece suporte a GPU paira compensair.

    Kitkat V4.4.3 paira cima tem esta fixada, mas viewsões mais antigas, como V4.4.2, que ainda estão sendo usadas em alguns dispositivos ainda sofrem.

    Você pode evitair isso ao não usair o WebView paira a renderização em HTML e, em vez disso, usair Crosswalk. Paira o nosso projeto, isso resolveu completamente o problema e agora temos um aplicativo de execução suave em todas as viewsões de Android que estamos direcionando. É bastante trivial fazer também.

    https://crosswalk-project.org/documentation/cordova.html

    https://blog.nraboy.com/2014/10/use-crosswalk-ionic-framework-android-apps/

    Tente usair multithreading e processamento em segundo plano paira operações extensivas de resources.

    Isso funcionou paira mim quando tive um problema semelhante com um dos meus aplicativos quando ele crash quando ele é executado em viewsões posteriores a 2.3.3. Eu nunca trabalhei com o PhoneGap, então não tenho certeza de como você vai fazer isso.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.