質問編集履歴

3

timelineの追加

2015/12/24 13:08

投稿

manz
manz

スコア18

test CHANGED
File without changes
test CHANGED
@@ -75,3 +75,15 @@
75
75
  });
76
76
 
77
77
  ```
78
+
79
+
80
+
81
+ 参考までに画面遷移を繰り返した際のtimelineの様子を添付させていただきます。
82
+
83
+ ![イメージ説明](de69f9ce07d65404218eca3ff23acd98.png)
84
+
85
+
86
+
87
+ 時間経過とともにListenersという項目が増えて行っていますが、
88
+
89
+ これはイベントが正しくアンバインドできていないということなのでしょうか。。。

2

不要な要素の明示的な破棄についても追記

2015/12/24 13:08

投稿

manz
manz

スコア18

test CHANGED
File without changes
test CHANGED
@@ -9,6 +9,10 @@
9
9
  キャッシュやメモリの開放など何か有効な解決策はありますでしょうか。
10
10
 
11
11
  画面遷移を行う毎に遷移元のキャッシュを消す方法などあれば教えていただきたいと思います。
12
+
13
+ ちなみにリロードを行えば解消されるのですが、基本はコンテンツ部のみをスライドさせる動きにしているので
14
+
15
+ (ヘッダやフッターがリロードによって一瞬ちらつくのはNG)リロードせずに解決できる方法を探しています。
12
16
 
13
17
 
14
18
 
@@ -27,3 +31,47 @@
27
31
  移動が完了したら古いdivのtapイベントをアンバインドし、
28
32
 
29
33
  古いdiv自体はリムーブ、新しいdiv内にtapイベントをバインド(MAX20個くらい)する。
34
+
35
+ ・遷移元の画面で使用した変数や配列は極力「delete」を使って破棄している。
36
+
37
+
38
+
39
+ 実際の画面遷移は以下のように行っています。(要所要所を抜粋しただけです)
40
+
41
+ 新しいページのDIVをappendし、右から左へanimateで動かし、
42
+
43
+ animateが完了したら旧」DIVをremoveする。
44
+
45
+ ```javascript
46
+
47
+ newHtml='<div class="content">ここに画像等複数階層のDIVがさらに入る</div>";//新DIV
48
+
49
+ $("#footer").before(newHtml);
50
+
51
+
52
+
53
+ obj.animate({"left":leftValue +"px"},{
54
+
55
+ duration:200,
56
+
57
+ step:function(){
58
+
59
+ },
60
+
61
+ complete:function(){
62
+
63
+ //リンククリックイベント追加
64
+
65
+ //ヘッダークリックイベント追加
66
+
67
+ //グラフ表示ページの場合はグラフリンクを設定する。
68
+
69
+ $(".oldcontent").remove();//旧DIVをremove
70
+
71
+ if (completeFn !== undefined) completeFn();
72
+
73
+ }
74
+
75
+ });
76
+
77
+ ```

1

説明文の追加

2015/12/22 13:56

投稿

manz
manz

スコア18

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,8 @@
7
7
  だんだん動きが重くなってしまうような感じがするのですが、
8
8
 
9
9
  キャッシュやメモリの開放など何か有効な解決策はありますでしょうか。
10
+
11
+ 画面遷移を行う毎に遷移元のキャッシュを消す方法などあれば教えていただきたいと思います。
10
12
 
11
13
 
12
14