标签: infinite

WebView无限扩展 - 如何防止这种情况?

我在我的Android应用程序中使用webview,但是在它完成加载后 - 我可以通过onPageFinished(WebView webview,String url)检测到 - 页面继续无限增长.

我怎样才能防止这种情况发生?

这就是我的工作.

  1. 我有一个包含ScrollView的通用页面模板.宽度和高度设置为与父级匹配.在ScrollView中,我创建的所有活动都有几个常见元素.其中一个是LinearLayout,我插入所有用户内容.

    .....
    <ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:layout_margin="0dp"
    android:padding="0dp"
    android:scrollbars="none"
    >
    
    ......
    
    <LinearLayout 
            android:id="@+id/content"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="0dp"
            android:padding="0dp"
            android:orientation="vertical">
    
            //EVERY USER CONTENT GOES HERE    
    
    </LinearLayout>
    
    
    ......
    
    </ScrollView>
    
    Run Code Online (Sandbox Code Playgroud)

    .....

  2. 在此特定情况下,内容是网页,使用移动网络API加载Google地图.这是布局文件

    <?xml version="1.0" encoding="utf-8"?>
    
      <WebView
           android:id="@+id/maps"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_centerInParent="true"
           android:layout_margin="0dp"
           android:padding="0dp"
      />
    
    Run Code Online (Sandbox Code Playgroud)
  3. 这是我的活动的代码,初始化webview

    .... WebView wv =(WebView)this.content.findViewById(R.id.maps);

    WebSettings ws = wv.getSettings();

    ws.setPluginState(PluginState.ON);
    ws.setSupportZoom(false);
    ws.setLightTouchEnabled(true);
    ws.setDomStorageEnabled(true);
    ws.setAppCacheMaxSize(1024 * 1024 * 8);
    ws.setAppCachePath(context.getCacheDir().getAbsolutePath());
    ws.setAppCacheEnabled(true);
    ws.setAllowFileAccess(true);
    ws.setCacheMode(WebSettings.LOAD_NORMAL);
    ws.setJavaScriptEnabled(true);
    
    wv.setInitialScale(0);
    wv.addJavascriptInterface(new Object(), "Android");
    wv.setKeepScreenOn(true);
    
    Run Code Online (Sandbox Code Playgroud)
  4. 最后,当我通过wv.loadUrl("......")加载地图时;

页面完成加载后,我得到以下日志,webview在无限循环中增长

02-18 14:16:06.195: …
Run Code Online (Sandbox Code Playgroud)

android infinite expansion webview

7
推荐指数
2
解决办法
3773
查看次数

如何在无限循环中不断更新活动中的TextView?

我有一个有TextView的活动,我想不断更新文本..

在Java中,我可以创建一个无限的while循环,并且只需在每次迭代时设置文本.

但是当我尝试在Android中执行此操作时,它会显示黑屏,甚至不会加载活动.

我把无限放在onCreate方法中,也许这就是它崩溃的原因..但如果是的话,我应该把它放在哪里?

android loops infinite

7
推荐指数
1
解决办法
8736
查看次数

Haskell-两个列表中的元组列表

我试图实现一个函数(如下所述),它接受两个列表(每个或两个可能是无限的)并返回列表之间所有可能元素对的元组列表

zipInf :: [a] -> [b] -> [(a,b)]
Run Code Online (Sandbox Code Playgroud)

(例如输出应该是这样的,但不一定非常像这样)

zipInf [0 .. 2] ['A' .. 'C'] ~> [(0,'A'),(1,'A'),(0,'B'),(1,'B'),(0,'C'),(2,'A'),(2,'B'),(1,'C'),(2,'C')]

zipInf [] [0 ..] ~> []

zipInf [0 ..] [] ~> []

take 9 (zipInf ['A'] [0 .. ]) ~> [('A',0),('A',1),('A',2),('A',3),('A',4),('A',5),('A',6),('A',7),('A',8)]
Run Code Online (Sandbox Code Playgroud)

我开始像这样实现它:

zipInf :: [a] -> [b] -> [(a,b)]
zipInf [] _ = []
zipInf _ [] = []
zipInf
Run Code Online (Sandbox Code Playgroud)

我想将列表提供给一个帮助函数来生成列表,但是我创建的列表无法编译,也不知道如何处理无限列表

辅助功能 -

oneList :: [a] -> [b] [(a,b)]
oneList [] _ = []
oneList x:xs y:ys = [(x,y)] ++ oneList
Run Code Online (Sandbox Code Playgroud)

haskell tuples list infinite

7
推荐指数
4
解决办法
6848
查看次数

haskell中的无限列表与fold*组合不计算

假设我希望得到一个排序无限的所有素数列表,直到指数n.

我有一个函数来合并两个排序列表和一个给我素数的函数.

merge :: Ord t => [t] -> [t] -> [t]
merge (x:xs) (y:ys)
    | (x <= y) = x : merge xs (y:ys)
    | otherwise = y : merge (x:xs) ys
merge xs [] = xs
merge [] ys = ys

primes :: [Integer]
primes = sieve [2..]
    where
        sieve [] = []
        sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs)
Run Code Online (Sandbox Code Playgroud)

我有两个版本的listOfPrimepowers功能:

primepowers :: Integer -> [Integer] …
Run Code Online (Sandbox Code Playgroud)

haskell map infinite fold

7
推荐指数
1
解决办法
630
查看次数

f#中的seq <int>与Lazy <LazyList <int >>的性能

有用于产生汉明数的无限流(即所有的正整数公知的解决方案n,其中n = 2^i * 3^j * 5^k).我在F#中以两种不同的方式实现了这一点.第一种方法使用seq<int>.解决方案很优雅,但性能很糟糕.第二种方法使用尾部被包裹的自定义类型Lazy<LazyList<int>>.解决方案很笨重,但性能却令人惊叹.

有人可以解释为什么性能使用seq<int>如此糟糕,如果有办法解决它?谢谢.

方法1使用seq<int>.

// 2-way merge with deduplication
let rec (-|-) (xs: seq<int>) (ys: seq<int>) =
    let x = Seq.head xs
    let y = Seq.head ys
    let xstl = Seq.skip 1 xs
    let ystl = Seq.skip 1 ys
    if x < y then seq { yield x; yield! xstl -|- ys }
    elif x > y then seq { yield y; yield! …
Run Code Online (Sandbox Code Playgroud)

f# infinite seq hamming-numbers

7
推荐指数
2
解决办法
697
查看次数

Haskell中的两个无限数据结构之间是否可以进行相等测试?

在我正在研究的项目中,某种类型的数据有时可能包含在其中.例如,

data Example = Apple Int
             | Pear Int Example

a = Pear 10 a
b = Pear 10 b
Run Code Online (Sandbox Code Playgroud)

作为程序员,我知道a并且b是相同的,但是当我实际测试它们之间的相等时,它将无限循环,因为它们的值需要进行评估以进行比较.

有没有其他方法可以在这些数据之间进行相等测试?或者有没有办法避免像这样的问题?

haskell infinite lazy-evaluation

7
推荐指数
2
解决办法
422
查看次数

Python中无限循环可用吗?

是否有可能在for循环中获得无限循环?

我的猜测是Python中可能存在无限循环.我想知道这个以供将来参考.

python loops for-loop infinite infinite-loop

7
推荐指数
4
解决办法
2万
查看次数

具有无穷大的复数的n mean平均值

numpy似乎不是复杂无穷大的好朋友

虽然我们可以评估:

In[2]: import numpy as np

In[3]: np.mean([1, 2, np.inf])
Out[3]: inf
Run Code Online (Sandbox Code Playgroud)

以下结果更加繁琐:

In[4]: np.mean([1 + 0j, 2 + 0j, np.inf + 0j])
Out[4]: (inf+nan*j)
...\_methods.py:80: RuntimeWarning: invalid value encountered in cdouble_scalars
  ret = ret.dtype.type(ret / rcount)
Run Code Online (Sandbox Code Playgroud)

我不确定想象中的部分对我有意义.但如果我错了,请发表评论.

有关与numpy中复杂无穷大相互作用的任何见解?

python numpy mean infinite python-3.x

7
推荐指数
1
解决办法
1217
查看次数

值等于和循环引用:如何解决无限递归?

我有一些包含几个字段的类.我需要按值比较它们,即如果它们的字段包含相同的数据,则类的两个实例是相等的.我已经覆盖了GetHashCode它的Equals方法.

可能会发生这些类包含循环引用.

示例:我们想要建立机构(如政府,体育俱乐部等).一个机构有一个名字.A Club是具有名称和成员列表的机构.每个成员Person都有一个名字和最喜欢的机构.如果某个俱乐部的成员将该俱乐部作为他最喜欢的机构,我们有一个循环参考.

但循环引用与值相等一起导致无限递归.这是一个代码示例:

interface IInstitution { string Name { get; } }

class Club : IInstitution
{
    public string Name { get; set; }
    public HashSet<Person> Members { get; set; }

    public override int GetHashCode() { return Name.GetHashCode() + Members.Count; }

    public override bool Equals(object obj)
    {
        Club other = obj as Club;
        if (other == null)
            return false;

        return Name.Equals(other.Name) && Members.SetEquals(other.Members);
    }
}

class Person
{
    public string …
Run Code Online (Sandbox Code Playgroud)

c# recursion equality infinite

7
推荐指数
1
解决办法
429
查看次数

在Haskell中整理列表理解

所以我试图在Haskell中生成一个出租车编号列表.出租车编号是可以用两种不同方式写成两个不同立方体之和的数字 - 最小的是 1729 = 1^3 + 12^3 = 9^3 + 10^3.

现在,我只是生成了四个"组成"出租车编号的数字,例如(1,12,9,10),并被告知使用列表理解(我不太熟悉) ).此函数将生成所有4元组,其中最大数字最多为n:

taxi n = [(a,b,c,d) | a <- [1..n], b <- [1..n], c <- [1..n], d <- [1..n], a^3 + b^3 == c^3 + d^3, a < b, a < c, c < d]

但是,由于以下几个原因,它很麻烦:

  • a,b,c,d的域都是相同的,但我无法弄清楚如何简化这段代码,因此[1..n]只写一次.
  • 我想要一个没有上限的无限列表,所以我可以让程序尽可能长时间运行并在我请求时终止它.很明显,如果我只是设置a <- [1..]等等,那么程序永远不会最终评估任何东西.
  • 程序非常慢:只需taxi 5019秒.

任何速度优化也都会很好,但如果不是我使用的天真方法就足够了.

haskell list-comprehension infinite

7
推荐指数
1
解决办法
304
查看次数