などと言い出して困る。

ダイアログ上の「3D 表示モードを変更」をクリックしたら、その広告サイトに飛ばされて、新手のインチキ誘導広告かと思いました。
よくみると、上のほうにリンクがあったが、以下にて「表示方法」というやつを変えればよし、と。

などと言い出して困る。

ダイアログ上の「3D 表示モードを変更」をクリックしたら、その広告サイトに飛ばされて、新手のインチキ誘導広告かと思いました。
よくみると、上のほうにリンクがあったが、以下にて「表示方法」というやつを変えればよし、と。

OS起動時に、設定したアプリを自動起動する「ログイン項目」。
システム環境設定>ユーザとグループ>ログイン項目

ここに登録設定していたアプリがOS起動時に起動されず、上の画像のリストに保存されずに消えていた。
いくつか、対応方法はあるようです。
ログイン項目がすべて消える | Apple サポートコミュニティ 
とりあえずトラブルシューティング | Apple サポートコミュニティ 
他にもいくつか対処法を書いているページはありましたが、大体この2つの方法です。
OSがらみの設定ファイルを手動で削除するのはなんとなくいやなので、2つ目の方法でやってみました。

AsyncTaskLoader | Android Developers
1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する
1. 進捗状況(progress)の更新ができない。
対応策:
LocalBroadcastManager を使う。 
Activity 側。
@Override 
protected void onStart() { 
    // Receive loading status broadcasts in order to update the progress bar 
    LocalBroadcastManager.getInstance(this)
        .registerReceiver(loadingStatusReceiver, new IntentFilter(MyLoader.LOADING_ACTION)); 
    super.onStart(); 
}
@Override 
protected void onStop() { 
    super.onStop(); 
    LocalBroadcastManager.getInstance(this).unregisterReceiver(loadingStatusReceiver); 
}
Loader 側。
@Override 
public Result loadInBackground() { 
    // Show progress bar 
    Intent intent = new Intent(LOADING_ACTION).putExtra(LOADING_EXTRA, true); 
    LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); 
    try {
        return doStuff(); 
    } finally { 
        // Hide progress bar 
        intent = new Intent(LOADING_ACTION).putExtra(LOADING_EXTRA, false); 
        LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); 
    } 
}