페이지를 표시할 수 없습니다. Error 404 Not Found. 요청하신 파일을 찾을 수 없습니다. 입력하신 페이지의 주소를 확인해주시기 바랍니다. 닷홈으로 이동
페이지를 표시할 수 없습니다. Error 404 Not Found. 요청하신 파일을 찾을 수 없습니다. 입력하신 페이지의 주소를 확인해주시기 바랍니다. 닷홈으로 이동
Android 開発ノウハウ集 Copyright © NIHON SYSTEM KAIHATSU CO., LTD p1 Android開発ノウハウ(1/2) Activity起動モード Activity起動モードに関する解説 Activityの思わぬ挙動に悩んだ経験のある方は参考になります メモリの解放について ビューや画像を解放する際のノウハウを紹介 OutOfMemoryErrorに悩んだ経験のある方は参考になります 音声ボリューム制御 音声のボリュームを制御する際のノウハウを紹介 音声のフェードイン・フェードアウトを実現したい方は参考になります Copyright © NIHON SYSTEM KAIHATSU CO., LTD p2 Android開発ノウハウ(2/2) フォント管理 フォントファイルを組み込む方法を紹介 自社製品開発する場合、
テスト仕様書で絶対に必要な項目リスト テスト仕様書に記述すべきものとして、以下の事項があります。 テストを実施した環境 実施するテストの内容 テストを実施するためのシステムの操作手順 テストの実行結果 個々のテスト項目を識別するための番号や記号(通し番号など) テストを実施した年月日 テストを実行した担当者 障害報告票番号(発生した障害の詳細を開発グループに報告する帳票の識別番号) まずはテスト環境について明記する テスト仕様書の先頭には、「テストを実施した環境」を記述します。ここでは、ハードウェア環境やソフトウェア環境、ネットワーク環境など、「どのような環境でテストを行ったか」を説明します。 ただし、テストを実施した環境を記述するだけでは十分ではありません。「顧客にとって必要な情報は何か」を考えるのです。ここで必要なのは、「要件定義書で規定した環境」との関係が分かることです。 なぜなら、
すぐOOMになる!もうVM落ちちゃったじゃない!て、人のタメにHeapSizeの調べ方を書いておく。 ちなみにService系を作っているので基本LogCatに出したりSDcardに書き込む方法を好んで使ってます。長時間に渡って採取する必要が無ければ他の方法を取る方が分かりやすいかも、TraceViewとか使えば良いよ。 NativeHeapSize出力方法 String memory = "Free=" + Long.toString(Debug.getNativeHeapFreeSize() / 1024) + "kb" + // 空きヒープサイズ ", Allocated= " + Long.toString(Debug.getNativeHeapAllocatedSize() / 1024) + "kb" + // 使用中ピープサイズ ", Size=" + Long.toStri
開発してるとActivityにBitmapを持たせたいことってよくある でもメンバで持ってると自前で解放しなくてはならない。 Bitmapのメモリ管理はネイティブ側で管理されてるので明示的に開放する必要がある。 マジで?って思ったので実験してみた 実験内容 以下のパターンでBitmapActivityがどのように変化するかを確認 実験1 ImageViewを持たないActivity 実験2 レイアウトでImageViewを持ったActivity 実験3 レイアウトでImageViewを持ち、メンバ変数でもImageViewをもつActivity 実験4 ImageViewを持ち、メンバ変数でBitmapをもつActivity 実験5 Bitmap#recycleの正しい使い方 使うアプリ こんな感じのアプリ 実験2〜4 MainActivity>BitmapActivity>(戻るキーで)
メモリ不足の問題の切り分け方の基本 まずは、メモリ不足がJavaヒープとCヒープのどちらで発生したかを切り分けておこう。 Javaヒープ OutOfMemoryErrorがスローされ、JavaVMの実行が継続している場合には、Javaヒープが不足している可能性が高い。Javaヒープ不足かどうかを確定させるために、スローされたOutOfMemoryErrorのトレースを確認しよう。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:350) <=======【*2】 at java.nio.CharBuffer.wrap(CharBuffer.java:373) at java.lang.StringCoding$StringDecoder.
package net.npaka.heapex; import java.nio.ByteBuffer; import java.util.ArrayList; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; import android.os.Debug; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.L
有限であるモバイル端末のメモリを無駄に消費するアプリは悪だ。そんなアプリのソースコードレビュー担当者の目は節穴だ。 と言われないためか否かは知らないけど、Android Developers - Avoiding Memory Leaksでは、Androidアプリを作成する上で、メモリリークが発生するパターンとその対処法を色々と紹介している。(英語) 要点のみを自分が見直し易いようにまとめつつ、説明の足りてない「非staticな内部クラスが駄目な件」について書いてみる。 そもそもメモリリークするん?Java実行環境下では、ガベージコレクタによるメモリ管理が行われているため大抵の場合は意識せずともメモリをいい感じに回収してくれる。だが、ガベージコレクタの動作を妨げるようなコードを書いてしまうと、いつまで経っても解放されるべきメモリが解放されなくなる。これが今回のお題であるJavaにおけるメモ
Androidってアプリ内でどのくらいデータを保存できるのだろう? ということで調べてみました。 検証のために以下のコードを書いて、contextにどんどん値を書き込むリソース制限チェックアプリを作成しました。 //100Byte static final String dataByWrite = "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa" + "aaaaaaaaaa"; try{ FileOutputStream fos = context.openFileOutput("test.txt",Context.MODE_APPEND); BufferedWriter o
Androidでディスクに空きがない時にSQLiteへINSERTしようとした場合の挙動を確認してみた。てか、どんな挙動するのかぐらいドキュメントに書いとけよ>Google 結果として、以下の2つのタイミングでSQLiteDiskIOExceptionが発生することが確認できた。 書き込み可能なDBを開こうとした(SQLiteDatabaseOpenHelper.getWritableDatabase()を呼んだ)タイミング。 つまりディスク容量が少ない時は書き込み可能なDBを開くことはできない。 データをコミットしようとした(SQLiteDatabase.endTransaction()を呼んだ)タイミング 明示的にトランザクションを開始していない場合は、INSERTしようとした時点で落ちると思う(試してない)。 DBを開く時点ではディスクが空いてたんだけど、書き込みをする時点でディスク
エラーが発生しました ご指定になったページは存在しません。 以下のリンクからTOPページへお戻りください。 N2-Works
DB周りのモジュールを開発している場合、テストDBにSQLiteを使う事が良くあります。 その際、普通であれば以下のようなテストコードを書くと思います use Test::More tests => 1; use DBI; do { # SQLiteで使うファイルを指定 my $dbh = DBI->connect('dbi:SQLite:./test.db','',''); $dbh->do(q{CREATE TABLE foo (id INT, name TEXT)}); $dbh->do(q{INSERT INTO foo (id, name) VALUES (10,'nekokak')}); my $sth = $dbh->prepare('SELECT * FROM foo'); $sth->execute; my $row = $sth->fetchrow_hashref();
東京ラーメンショー2011 いきてーーー!みなさんこんにちは、nakamura です。 今日はプログラマだったりサーバ管理者だったり(もしくはその両方だったり)する方にお勧めしたいサイトとツールをいくつかご紹介します。細かい脆弱性のチェック等どうしても手間が掛かるものが多いですが、今回ご紹介するツールをうまく使うとその辺りだいぶ効率よくできると思いますよ! WEB アプリケーション関連 XSS Me XSS Me :: Add-ons for Firefox XSS のテストをある程度自動化してくれる Firefox のアドオンです。残念ながら Firefox3.0.* 系の頃に開発が止まってしまっているようですが、僕の環境では install.rdf の書き換えで問題なく動作しています。(Windows7 64bit + Firefox7.0.1) SQL Inject Me SQL I
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く