パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

HMD Global CPO曰く、スマートフォンのRAMは4GBで十分」記事へのコメント

  • ここ数年にわたり、
    PCにおける一般的な搭載メモリ量が2GB~4GB程度で十分、
    それ以上は各種コンテンツ編集やビルド作業、仮想マシン起動などの重たい作業をしない限りは不要というのが続いていますね

    スマホOSにおいては、フラッシュメモリをストレージにする前提から
    メモリが足りなくなったときにスワップアウトはさせず
    アプリをステートセーブして終了させる + 次回はステートロードしつつ起動させる
    という実装になっている点が異なりますが、
    これが大きく影響するのは

    「重たいゲームを複数同時に起動し、さらに裏でゲームが終了していることも許さない」

    状況だけ

    • by Anonymous Coward

      > iPhoneにおいてはこのような利用ケースごとのメモリ要求量のバラつきはとても困った要素になりますね
      > ラインナップが少ないということは自由が少ないということ、まさにその通りになります

      毎度毎度、なんかAppleを貶さないと気が済まないみたいだがw、違うOSでメモリの量を比べても意味があるまい。
      iOSのメモリ利用効率はAndroidよりはるかに良い [cultofmac.com]ので、
      もともとそんなにメモリが要らないという話だよ。

      Androidはそもそもの成り立ちがLinuxの上にJava乗っけてという変態構造の上に、
      JITが走ったり、GCが走ったりと裏でやってることが多く、メモリとプロセッサパワー食いな体質のOSだ。

      • by Anonymous Coward

        Linuxの上にJavaって別に変態とは言えないでしょう。
        携帯Javaとかも基本そんな構成ですよ。
        ちなみにAndroidは今はAOTですし。

        リンク先の記事ではAndroidはGCがあるのでメモリがたくさんいると書いてありますが、要はメモリが多めだと開放するまでに時間が稼げるという話であって二倍の内容が保存できるという話ではありません。そんな魔法の技術はありません。
        そしてGCが働くために必要な余計なメモリなんてギガバイト単位の話ではありません。
        なにしろ(Java用の)メモリ2MBとかでも機能していたのですよ?
        加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。

        • by Anonymous Coward on 2017年08月30日 20時33分 (#3270620)

          携帯Javaとかも基本そんな構成ですよ。

          それはアプリの実行環境としてJavaVMが載っているという話だろう。
          Androidの場合はアプリ実行とは関わらない、OSそのものの機能の多くがJavaで書かれていて、
          Linuxの上で動くVMの上で動いている。そんなのは他ではあまり見かけないが。

          加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。
          プログラマーが努力すればメモリ効率は上げられますが、Javaでもこまめにメモリを開放すれば同じことができます。

          いや、プログラマの技量の落ち度や、「努力すればできる」みたいな話まで持ちこんでくるのはちょっと違うんじゃないかなw

          親コメント
          • by Anonymous Coward

            将来的な互換性を重視する実装では最初から仮想マシンをかましているのはそこそこある
            XBOX ONE とかもそんなん

            • by Anonymous Coward

              それ、最近のXBox Oneになってから出てきた話だろうにw
              しかもXBoxの場合は、仮想マシンの上で動くのは丸ごと完全なOSだ。
              AndroidみたいにOSの機能の半分はLinux、半分はJavaVMの方で動いているというのは、やはり変態的だ。

            • by Anonymous Coward

              なんか話が変わってない?
              Java仮想マシンみたいなのと仮想マシン上でOSが走ってるってのは全然別よ。
              でも初めて知ったから驚いた。凄いな。
              Windows 10でHyper-Vを有効にすると目の前のWindows 10までなんだか知らん内に仮想化されるようなもんか。

          • by Anonymous Coward

            まぁ他なんてそんなにないですけど、WndowsのUWPやWPFなら結構.NET Frameworkですよね。
            確かに今でもネイティブで書かれている部分が多いですけど、Androidも下層はそれなりにネイティブですよ。多分。
            ちょっとやり過ぎかとは思いますが変態ってのは言いすぎかと。

            言いたかったのはそういう話じゃなくて、

            Linuxの上にJava乗っけてという変態構造

            という表現が変で、Linuxの上に乗っけないならどうするの?という違和感ということです。

            プログラマの技量の落ち度や

            • by Anonymous Coward

              という表現が変で、Linuxの上に乗っけないならどうするの?という違和感ということです。

              JavaアプリのAPIとして選ぶんじゃなくて、ネイティブなアプリが動くようにすればよかったんでねーの?
              Oracleと喧嘩しなくて済んだしさw

開いた括弧は必ず閉じる -- あるプログラマー

処理中...