私は、携帯電話のアプリやウェブサイトを作成する1人(自分のみ)のチームでインターン(インターンシップの8か月後)として働くジュニアプログラマーです。
正確に動作し、かなりクールな機能を備えたアプリを作成しましたが、メモリの問題により、アプリはAndroid(私たちの主なターゲットプラットフォーム、デスクトップエミュレーターでは動作しますがAndroidでは動作しません)で実行できませんMosync APIの大きなアプリ(メモリの問題の詳細については、リンクを参照してください)。問題の最も意気消沈した側面は、(以下のリンクで説明されているように)アプリがランダムにクラッシュし、一貫性がないため、プラットフォームで何度も実行して変更を加えると、何かがフリーズする前に機能していたため、アプリがクラッシュします(Android OSがアプリを強制終了します)。
http://www.mosync.com/content/Android-how-much-memory-too-much-memoryhttp://usingimho.wordpress.com/2011/06/ 14/why-you-should-stay-away-from-appcelerators-titanium /
アプリ(インタラクティブカレンダー)の開発に4週間、プラットフォームで動作しないアプリのMosyncAPIの学習に5か月を費やしました。
私の問題:アプリをダンプするか、ネイティブでアプリを再起動するかを決定する必要がありますAndroid Java(私は知っていますJava)またはアプリのリソース(.png)と機能(生成するポラロイド効果)の数を大幅に減らして、Androidプラットフォームで機能するようにします。最終結果は機能しますが、低品質(グラフィックスの観点から)&シンプル。
経験豊富な開発者は何をすることに決めますか?この決定/推奨事項を技術者以外の上司にどのように説明しますか?
Javaに翻訳します。できるだけ多くのアプリケーションアーキテクチャを保存します。特にモバイルアプリでは、プレゼンテーションが非常に重要であり、鮮明なビジュアルが小さな画面で大いに役立ちます。コードベースを破棄するのではなく、機能するすべてのアイデアを取り入れて作り直します。
私はiOSアプリでそれを行いましたが、作業中のクラスが終了する前に2番目のビルドを完了しませんでした。 GIMPでUIを手動で操作し、各フレームをつなぎ合わせてモックアップムービーを作成しました。実際の本番コードにはその方法はお勧めしません。私は努力と良い報告のためにAを得たかもしれませんが、あなたが同じレセプションを得るとは思わない。
したがって、Javaを知っている場合は、できる限りJavaまで実行してください。スケールダウンは、見た目が良く、ほとんど実行される、少しバグがあるが安定した初期リリースよりも、長期的には効果が低い可能性があります。見た目が悪くスムーズに動作するアプリよりも、いくつかの問題で安定しています。バグは回避でき、お粗末なデザインは修正が困難です。必要に応じて骨まで剥がしますが、完全に捨てないようにしてください。
上司が行く限り、この質問のようなものを尋ねてください:私たちを粗雑に見せるかもしれない低品質の製品をすぐにリリースしますか、それとも後で私たちを素晴らしく見せるかもしれません。
Androidについては知らないが、多くの場合、パレットベースのPNG(JPGよりもGIFに近い)、圧縮などに頼ることができる。どこで再利用できるか見てみましょう。超小型のPNGから組み合わせることができれば、ボタン全体は必要ありません。動的に生成できるもの、グラデーションなどがあります。
どれくらいのメモリを使用しますか?目標額はいくらですか?コード/リソースはどれくらい重いですか?